Status Update
Comments
di...@google.com <di...@google.com> #2
Thank you for the nice reproduction. The problem is in the library that defines a service loader implementation file incorrectly. The file META-INF/services/org.xmlpull.v1.XmlPullParserFactory contains:
org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer
The spec clearly states that it should be one per line:
A service provider is identified by placing a provider-configuration file in the resource directory META-INF/services. The file's name is the fully-qualified binary name of the service's type. The file contains a list of fully-qualified binary names of concrete provider classes, one per line...
R8 also gives a warning regarding that:
Warning in /usr/local/google/home/mkroghj/dumps/b279996549/dump/program.jar:META-INF/services/org.xmlpull.v1.XmlPullParserFactory:
Unexpected reference to missing service implementation class in META-INF/services/org.xmlpull.v1.XmlPullParserFactory: org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer.
The reason the context is FastServiceLoader.load
is because that is where we enqueue the potential services that can be loaded. I guess this could try and figure out the concrete types that could be loaded instead of all types, but that is difficult since the method takes a class as argument.
R8 will read the type in the implementation as a type with name org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer
. You therefore, in principle, need to write -dontwarn org.kxml2.io.KXmlParser,org.kxml2.io.KXmlSerializer
. Now the problem here is that -dontwarn
takes a list of classes as argument, so we parse that into something similar to:
-dontwarn org.kxml2.io.KXmlParser
-dontwarn org.kxml2.io.KXmlSerializer
The only thing you can write is a prefix, so you could do -dontwarn org.kxml2.io.KXml*
and that will silence the compiler and succeed.
Regarding the library, I checked if the error was still present, but the service file was corrected over 3 years ago:
You could see if an update of the library you are using is available or use the -dontwarn
pattern above. Will be marking this as WAI.
la...@gmail.com <la...@gmail.com> #3
I have tried above pattern but that also fail
-dontwarn org.kxml2.io.KXml*
Can you please confirm from sample file with corrected pattern and working solution ?
Description
When I am configuring view with mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) and managing it's add/remove from superview - accessibility works good. But I want to make it working in this "bubble".
How can I make my labels accessible in this marker contents window?