The VisibleForTesting annotations are used by proguard to prevent
stripping code that is needed at runtime for tests. The annotations
were marked with source retention, which worked fine with Jack's
proguard implementation. When we switched back to javac + proguard,
the VisibleForTesting annotations are gone by the time proguard
sees the classes, so the annotated classes and methods can still
be stripped.
Move the VisibleForTesting annotation to class retention, which
matches guava's equivalent annotation.
Bug: 64365384
Test: m -j MtpDocumentsProvider &&
javap -cp out/target/common/obj/APPS/MtpDocumentsProvider_intermediates/classes-proguard.jar com.android.mtp.MtpRoot
Change-Id: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
Merged-In: I63a467c2f0a21383eb9e4c9563fd6de2d994a373
(cherry picked from commit 8e846143ddc285117d391561de7abd670078d27f)
This patch fixes the mask used in describeImmutableDifferences which did
not correctly turn NET_CAPABILITY_NOT_METERED into bit flag.
Bug: 63326103
Test: added unit tests, runtest frameworks-net
Change-Id: Ib6b390b1daef5912859302692af7dcd6cfd3e39a
Methods inserted at the end of a synchronized {} block also need to
be outside of the implicit try{} block. Make sure the next
instruction is the virtual end label for the try block, and put
the inserted method after the label.
Bug: 64301866
Test: locked_region_code_injection test
Test: m -j checkbuild
Change-Id: I6626aa45580b4df692e02fc6127a2947a6075e2e
These libraries are being removed. Now, the regular java
library can be used as both a static and non-static library,
we are removing these duplicate libraries which cause
several types problems (such as undefined behavior when
both the static and non-static libs are loaded).
Bug: 36376126
Test: boot marlin device
Merged-In: I6acb6a41fd5c62a3070ada373aed11706c423463
Change-Id: Ic3a62e7be36b1efca10a9e2e2d0efc430578d061
Allows grouping of classes with dirty static fields to be grouped
together in the image to have fewer dirty pages.
(cherry-picked from commit 37641ae54ab72509276d0fdd3f0fabeea9988c4a)
Bug: 62554875
Test: mm test-art-host
Merged-In: I6a36120235ee4f47bc1cb1ddc4413cfc561cb9a7
Change-Id: I6a36120235ee4f47bc1cb1ddc4413cfc561cb9a7
If the superclass is an abstract class, we want to search it for
possibly overridden methods; we don't want to search ourselves.
This bug resulted in (incorrectly) thinking that overridden "default"
methods from interfaces were standalone methods on the class. (The
expected behavior has always been to omit any overridden methods from
the public API surface area to avoid redundant noise.)
Test: make update-api
Bug: 62675475
Change-Id: Ic92544908692bd9af329d302165e18c7b4738e43
(cherry picked from commit 257529dcae079055d51cb8eb42b249512ae41f36)
Added UserRestrinctionListener for turning the service off one the
DISALLOW_CONFIG_TETHERING is on into Tethering. Added notification
about
tethering being turned off. Also added Unit Tests to test the
functionality
of the UserRestrictionListener added.
Bug: 27936525
Test: Turn the tehering service on (either wifi, usb or bluetooth).
Automatically the system should send a notification about the service
being active.Close settings from recents. From TestDPC User Restrictions
switch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off
and a notification should appear informing that the service is inactive.
Merged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
Change-Id: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc
(cherry picked from commit fa6d5c5ca02f1bfc454bd3cd82e6c043661e7aa7)