Revert^2 "Don't include static or private methods with proxy construction."
This reverts commit 379503d0a12d4e22f0c04b4e7f295bfb9f6349fd.
java.lang.reflect.Proxy classes are meant to only proxy the interface
methods of the classes they are proxying. Instead we were creating
(invalid) class objects that contained any static or private methods
the interfaces had in the proxies vtable. This can break assumptions
about the layout of classes elsewhere in the runtime.
Manually filter out any static/private methods and their throws any of
the interfaces contain and not pass them down into the proxy class
internals.
Reason for revert: Fixed issue where throws array was not filtered
Bug: 152479334
Bug: 152339121
Test: ./test.py --host
Test: atest com.android.server.wifi.WifiServiceImplTest#registerSoftApCallbackFailureOnLinkToDeath
Change-Id: I5157529afc733a8422e15e4b74d501c29646cc62
1 file changed