53 Commits

Author SHA1 Message Date
Mathieu Chartier
9f31b97f5e Add filter for NoPreloadHolders
Avoid including these in the preloaded classes.

Test: manual
Bug: 109652611
Change-Id: I1efd1749e54e8b38ca8f7e3ff05058ddb0fe4460
2018-06-07 14:30:24 -07:00
Jiyong Park
fa15a99fe9 Remove FlpHardwareProvider
After Treble's FLP merge into GNSS HAL, the FlpHardwareProvider is just
an empty shell. Removing FusedLocation and/or Flp + Hardware classes
altogether.

Bug: 35726697
Test: m -j
Test: Open Google Map and then walk around. The dot moves as I walk.

Merged-In: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
Change-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
(cherry picked from commit 4cc3a1c056f69ac4da1dc5055c36b7357e9f673c)
2018-05-25 16:38:52 +09:00
Treehugger Robot
e7372ab0d5 Merge changes Id81271ff,I8f298371
* changes:
  DO NOT MERGE ANYWHERE Update hiddenapi-p-light-greylist.txt
  DO NOT MERGE ANYWHERE Sort hiddenapi-p-light-greylist.txt
2018-05-24 10:14:08 +00:00
David Brazdil
85c81cb24c DO NOT MERGE ANYWHERE Update hiddenapi-p-light-greylist.txt
Test: N/A
Change-Id: Id81271ffe2080091d4e4c3d40325183b086dba8e
2018-05-24 08:39:02 +00:00
David Brazdil
1c04a887fb DO NOT MERGE ANYWHERE Sort hiddenapi-p-light-greylist.txt
Test: N/A
Change-Id: I8f298371df3efbc3d968c95337e058d6140fe5de
2018-05-24 08:26:02 +00:00
David Brazdil
ddceca858f Merge "Update hidden API lists in AOSP" 2018-05-23 16:36:47 +00:00
David Brazdil
aa8d4ef032 Update hidden API lists in AOSP
This should only be merged into AOSP branches

Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Test: N/A
Change-Id: Ia9b362cf44821273a8c4d25f73ffd881895e7df1
2018-05-23 16:04:34 +01:00
Pete Gillin
46ab91aa14 Remove Arrays.checkOffsetAndCount from the greylist.
This method is being removed. All usages of this @hide method in the
platform have already been removed. For an analysis of the usage in
apps, see the bug.

Bug: 78447530
Test: cts-tradefed run cts-dev -m CtsLibcoreTestCases

(cherry picked from commit 094f08bc41d4124aed63123440d9efcafe1f473c)

Change-Id: I60a158654ad962c8e3b5282c035dae0c014903d0
Merged-In: Ic89cf0775170393fe906f581364bff0e852958ef
2018-05-23 14:16:31 +00:00
Nicolas Geoffray
82d5e35da3 Bugreport greylist updates.
Monday edition.
Manual as it looks the tables haven't been populated yet.

bug:79630776
bug:79577968
bug:79604623
Test: m
Change-Id: I569b827821ed5651afab409a66704ba61a572a7c
Merged-in: I569b827821ed5651afab409a66704ba61a572a7c
2018-05-14 12:54:57 +01:00
David Brazdil
f24f0a9c71 Include in hidden API dark greylist based on package name
Dark greylist has so far been populated with the remaining class
members of classes listed on the light greylist. This patch changes
the rule to include all remaining classes and class members in the
same package (sub-packages not included).

Bug: 64382372
Test: make -j64 out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt
Change-Id: Icf3f60f1e776f092103c612fc3995ce0e66617ea
Merged-In: Icf3f60f1e776f092103c612fc3995ce0e66617ea
(cherry picked from commit 4c3c03129ba95dccab30ba7579dc91b97843271f)
2018-05-11 16:18:32 +01:00
Nicolas Geoffray
140f065f1f Add static analysis data.
bug: 64382372
Test: m
Change-Id: Ie0696a5eecf610165c4b9c339a789f76964a0623
Merged-in: I188a69ad05fffa69be79fec36b180fc9f76998fa
2018-05-11 11:10:37 +01:00
David Brazdil
2a661bff82 Merge "Greylist hidden methods for exempting trusted test code" 2018-05-10 15:46:56 +00:00
Treehugger Robot
97047fd725 Merge "Bluetooth: Update grey list to match hidden API change" 2018-05-09 23:26:23 +00:00
David Brazdil
0e348c5013 Greylist hidden methods for exempting trusted test code
Bug: 64382372
Test: N/A
Change-Id: I8bcc3d23d0b942e70a16a9d28ea0d21ce4fe75a2
2018-05-09 18:02:03 +01:00
David Brazdil
6982bf4bde Merge changes I8b20e03c,Id1ef4ab5,Ie34adb8b
* changes:
  Manualy blacklist certain hidden APIs
  Populate hidden API dark greylist
  Refactor build rules for hidden API lists
2018-05-09 13:58:50 +00:00
David Brazdil
d575ff964b Revert^2 "Fix signature of recently changed methods"
This reverts commit 29b92c610a61f88ebf25e764994b70d61bc3cea8.

Merge the CL again, this time without a Merged-In flag which
prevented it from merging into the internal tree.

Change-Id: Ie1b9de8c45cb174437fa4acdd78e6cdd4b660623
2018-05-09 12:38:52 +00:00
David Brazdil
29b92c610a Revert "Fix signature of recently changed methods"
This reverts commit ca930d166ec2b3d20a8abc03aaabb7874a6c7745.

Reason for revert: the Merged-In tag conflicts with
                   a cherry-pick into AOSP

Merged-In: Id50db88f4ff36069b0f392c81dd9d90c24cd2206
Change-Id: If284ac4957cf84f0acc118f232f6acf476e05b98
2018-05-09 12:29:01 +00:00
David Brazdil
ca930d166e Fix signature of recently changed methods
BluetoothHeadset methods startScoUsingVirtualVoiceCall and
stopScoUsingVirtualVoiceCall recently changed their signature.
Fix this in the hiddenapi-light-greylist.txt to unblock the build.

Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: Id50db88f4ff36069b0f392c81dd9d90c24cd2206
Change-Id: I295886b0cd35936d0b8c1a8e4a9b9c5054dda001
2018-05-09 10:11:54 +01:00
David Brazdil
259e1629af Manualy blacklist certain hidden APIs
Previous CL introduced the concept of populating the dark greylist
with remaining members of classes on the light greylist. This breaks
the assumption that some methods/fields will always remain blacklisted.
Introduce a new file which forces their blacklisting and adjust the
build rules accordingly.

Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: I8b20e03c50f4027a24d2a6081bedb08bc8a34011
Change-Id: I8b20e03c50f4027a24d2a6081bedb08bc8a34011
(cherry picked from commit 4b34f79a35a6602962ed1df1accd9d6ea6e41e77)
2018-05-09 09:33:42 +01:00
David Brazdil
74502c7500 Refactor build rules for hidden API lists
The build rules were getting messy and too difficult to extend.
Extract assertions into own functions, create shared variables.

Bug: 64382372
Test: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt
Merged-In: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e
Change-Id: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e
(cherry picked from commit 721bc8e6a8b1350c62b4a570f523541d1ce1124a)
2018-05-09 09:24:02 +01:00
Jack He
8790829eab Bluetooth: Update grey list to match hidden API change
* startScoUsingVirtualVoiceCall() and stopScoUsingVirtualVoiceCall()
  no longer takes arguments

Bug: 76114959
Test: build only, no functional change
Change-Id: I16e5345bbfaa5d42490122a4330673e1152f687f
2018-05-08 19:35:31 -07:00
David Brazdil
cfeb1c8b88 Populate hidden API light greylist for AOSP
This patch adds the light greylist and vendor list source files from
the internal tree, intersected with the full list of private APIs
in AOSP. This is a prerequisite for enabling the blacklist.

The CL is not merged into internal master.

Test: N/A
Change-Id: I41442574fff6894cd1cb004abc5101210cfb86ba
Merged-In: I8757a66bf625388e6f6419714ef5bba7af5d93ea
2018-05-08 12:50:22 +01:00
David Brazdil
b545e03683 Remove hiddenapi-blacklist.txt
Create an empty file in the build rule instead. Do not merged this
beyond AOSP. We have an implicitly built blacklist everywhere else.

Bug: 64382372
Test: make
Change-Id: I4e13e5daf635934a152d389a95bf45c482b5a87f
Merged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267
2018-05-03 12:14:45 +01:00
David Brazdil
acad03efab Update hiddenapi-p-light-greylist.txt
Test: N/A
Change-Id: I68582cf087b2e92f10b86c7c5a8bcd095e80ffab
2018-05-03 10:55:34 +01:00
David Brazdil
717c18ed1e Publish hidden API light greylist from P
This will be periodically updated from the internal tree. The file
is not being used anywhere.

Test: N/A
Change-Id: Ie0587d82afe5daf0276914f888542711d3f3baa5
2018-04-26 17:06:17 +01:00
David Brazdil
0649c8d5b3 Create hidden API lists
Android is beginning to put restrictions on the usage of private APIs.
In order to facilitate a transitionary period, some APIs will remain
accessible but issue a warning (greylist), other will see restrictions
right away (blacklist).

This patch create two new text files which will be used to store manual
lists of dex signatures of hidden APIs. These are the blacklist and
dark greylist. They should be mutually exclusive and both be subsets of
INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE. The last list, light greylist,
is generated as INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE minus the two
manual lists.

Bug: 64382372
Test: m
Change-Id: Ia694ef79bece819c87db853ccaea5e95f38d3e84
2018-01-24 20:48:37 +00:00
Mathieu Chartier
886d4251f4 Remove compiled classes list
No longer used.

(cherry-picked from commit c87f8124bc1b79969f512f67d5d7f837b4cf28f7)

Bug: 37966211
Test: make
Merged-In: I5a1ef82ed6d8cf771513b86960c3d1d8cf7418f9
Change-Id: I5a1ef82ed6d8cf771513b86960c3d1d8cf7418f9
2017-12-14 17:36:18 +00:00
Brad Ebinger
e575ad10ca Merge "Refactor ImsService to AIDL"
am: 8a02c63f16

Change-Id: I195d7ccff8498241b6c7be819d2ee96b661d51e1
2017-11-22 19:23:16 +00:00
Brad Ebinger
216b3ce485 Refactor ImsService to AIDL
The ImsService was originally designed as a flat
interface, all ImsFeatures would be forwarded
through ImsService. This has been refactored to
using AIDL interfaces for each feature, as it
is more straightforward.

Test: Manual, Telephony IMS Unit Tests
Change-Id: Ibe065ddec6f180eabda03cf06f842c642a11114f
2017-11-16 21:28:36 +00:00
Xin Li
220871a697 Merge commit '98e12851336b7db16e583f9afac63ecc97465980' from
oc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.

Change-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7
Merged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d
2017-11-14 12:31:11 -08:00
Brad Ebinger
9a6369dbd5 Remove ImsService Feature Interfaces
The ImsService feature interfaces were designed
to support a flat ImsService AIDL. This is not
necessary anymore, so this interface is being
removed as part of prep for the new ImsService
definition.

Test: Manual
Change-Id: Iefbcd168441ce2547523cf3e6a99ab3de5f3f823
2017-11-07 11:05:51 -08:00
Brad Ebinger
8f291b18a1 Move ImsServiceProxy to opt/net/ims
This code is very tightly coupled with ImsManager
and should exist as part of the telephony IMS
code.

Test: Manual
Change-Id: If7b8ec73409daa7f1c1d27878242b4335db38e8a
2017-11-07 10:01:58 -08:00
Hansong Zhang
c8a370aeba Merge "Change Bluetooth HID Profile Name (1/6)"
am: 8218b219f3

Change-Id: Ic085deaa070b4008b34d03b507f81a5df220764a
2017-10-23 22:33:50 +00:00
Hansong Zhang
0edf754b2d Change Bluetooth HID Profile Name (1/6)
Make the Bluetooth HID profile name consistent with the Bluetooth HID service
name.

BluetoothInputHost → BluetoothHidDevice
BluetoothInputDevice → BluetoothHidHost
IBluetoothInputHost → IBluetoothHidDevice
IBluetoothInputDevice → IBluetoothHidHost
BluetoothProfile.INPUT_HOST → BluetoothProfile.HID_DEVICE
BluetoothProfile.INPUT_DEVICE → BluetoothProfile.HID_HOST

(Cherry-picked from commit c26c76c63d933f8057f795d05624f91b811c8c71)
Merged-In: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
Bug: 68055651
Test: make
Change-Id: Iadb890a54dd3d6868b87514472bbac6bb0c6179f
2017-10-23 22:21:00 +00:00
Mathieu Chartier
fcb01be913 Merge "DO NOT MERGE: Add extra compiled classes" into oc-mr1-dev
am: 1d1ff0b030

Change-Id: I588c1a5d59a5e3455d6c19dfcb18b9ff59283e15
2017-10-17 16:53:35 +00:00
Mathieu Chartier
fc57ab6e2c DO NOT MERGE: Add extra compiled classes
Since compiled were not updated for MR1, this change incrementally
adds missing classes based on the typical use cases.

The reason that we only use boot image profiles in MR1 for Go is
because of risk concerns.

Generated with a threshold of 3.

Bug: 67730245
Test: make and flash
Change-Id: I9597bcec521514fdbf69521ef0e23a2d7ddcf656
2017-10-16 15:34:28 -07:00
Mathieu Chartier
ba714b38a2 Merge "Add android.os.Parcel$ReadWriteHelper to compiled classes" into oc-mr1-dev
am: 5b4d0e0404

Change-Id: I08773b81acdf9f7c16be246ba056b9f8f54b4e6c
2017-10-15 02:06:02 +00:00
Mathieu Chartier
5b4d0e0404 Merge "Add android.os.Parcel$ReadWriteHelper to compiled classes" into oc-mr1-dev 2017-10-13 16:25:23 +00:00
Mathieu Chartier
24a879c769 Add android.os.Parcel$ReadWriteHelper to compiled classes
Add this class to compiled classes since its important for app
startup.

Test: make and look at oatdump
Bug: 67730245
Change-Id: I401ef516af076aeae56349a2317e63cca0eb4d47
2017-10-12 16:21:29 -07:00
Mathieu Chartier
0dae24ff44 Merge "Add frameworks base config and move text blobs there"
am: 34cf8b2c04

Change-Id: Id96e4b6a3272f2f320b898c42e4970e4bbb2adb9
2017-09-29 00:24:23 +00:00
Mathieu Chartier
486b198eda Add frameworks base config and move text blobs there
Bug: 64259751
Test: clean oat files && make and flash

(cherry picked from commit a023b86c3b4554b90ed6edfd63cedddb4f0100f9)

Merged-In: I7c898d69e66257fe0a7827ebbab1fcff4aa6473e
Change-Id: Ifb40ec51e7184984853c0d2382f040d2dea63168
2017-09-28 15:11:10 -07:00
Andreas Gampe
fd31b789f9 Merge "Frameworks: Move Log holder to be preloaded" into oc-mr1-dev
am: 1a17bfa25c

Change-Id: I108472693a5ce73cec529b354e65b1eeed6ee151
2017-09-28 15:25:50 +00:00
Andreas Gampe
61a3e8c23a Frameworks: Move Log holder to be preloaded
To avoid issues with late initialization, let the holder be
initialized in the zygote.

Bug: 65927416
Test: m
Change-Id: I6f454df46d4c64d295e1f2510793d5087b74fb74
2017-09-27 15:34:01 -07:00
Victor Chang
ea8a114743 Merge "Remove StructGroupSourceReq" into oc-mr1-dev-plus-aosp 2017-09-20 09:33:23 +00:00
Christine Franks
1276f357d3 Merge "Handle night display state when timezone changes" into oc-mr1-dev 2017-09-20 00:23:28 +00:00
Christine Franks
2ce862c3ed Handle night display state when timezone changes
Bug: 64458884
Test: runtest -c com.android.server.NightDisplayServiceTest \
frameworks-services and manually tested Hawaii and London

Change-Id: I052034a4c64eb73c42672215e8847c11e00efeb5
2017-09-19 14:37:26 -07:00
Victor Chang
ed707d9cf1 Remove StructGroupSourceReq
- Remove the class as part of removing setsockoptGroupSourceReq from
Os.java
- CtsLibcoreTestCases and CtsLibcoreOjTestCases pass on aosp/master

Bug: 32071916
Test: m
Change-Id: I132190f47cea9f56ec56a824763f7e2b2cfde893
2017-09-19 19:41:46 +01:00
Mathieu Chartier
d62dd932dd Add some extra zygote preloads
Slow to initialize classes used by camera, instagram, facebook,
etc.

Obtained by go/ag/2877672 and looking at logcat during application
startup for: Camera, Instagram, Maps, and Facebook.

Test: build and flash
Bug: 65493113

Merged-In: Ic7a5641560e3b7de6f4db14f452d567104ce315c

(cherry picked from commit e4e553dab5e76b6f5aefcd274dfde98103e5004a)

Change-Id: Ie7837df6310496a3d840475aa7aa0ccba876efef
2017-09-11 12:01:48 -07:00
Mathieu Chartier
1c2d2afcec Move to using a profile for boot image
Updated the system server profile, moved to using a profile for the
boot image.

Use cases for obtaining profiles:
Automated CUJ tests
Automated app launches
Manual usage of dialer, navigation, playstore, and play music.

Storage savings:
Boot art+vdex+oat size: 78305556->61539326 (-17MB)

New system server profile has more methods (1.5MB -> 4MB oat) since it
has more coverage from use cases.

Ram savings (sample averages for CUJ test):
Average PSS of 3 runs (~100 samples total):
.Boot_vdex: 9359K -> 9902K
.oat_mmap: 21857K -> 13372K
.Heap: 29779K -> 29483K
.Boot_art: 15736K -> 18096K
.LinearAlloc: 9112K -> 8965K
Total PSS: 85846K -> 79819K (-6MB)

Average pages read from flash (512MB device) for CUJ tests (3 samples):
1508MB -> 1183MB

TODO: Investigate why .art goes up, maybe we are missing some classes
in the profiles.

Bug: 37966211
Bug: 63178181

Test: make and flash

Change-Id: I2031c52eab7b868c59d4c5a46cad50bfbc6cd714
2017-09-01 16:14:41 -07:00
Mathieu Chartier
f72073a84f Add CollationRoot to preloaded classes
It was determined this would save RAM.

Test: ./generate-preloaded-classes.sh base.txt preloaded-classes-blacklist preloaded-classes-extra  > preloaded-classes
Test: Look at the generated file
Bug: 63444758
Change-Id: Ib49b1218e94e4a4a2211071da189cf917559248b
2017-08-16 13:58:47 -07:00