In the BLE extension we rely on Guava's Lists utility class to perform operations on lists. This works well for the companion app, but causes apps to fail when compiled. Due to the way dex works, we cannot simply add a @UsesLibrary annotation to make this work because then apps built with components that rely on Guava would have errors. We can provide our own implementation to prevent collisions and allow built apps to work.
In the BLE extension we rely on Guava's Lists utility class to perform operations on lists. This works well for the companion app, but causes apps to fail when compiled. Due to the way dex works, we cannot simply add a
@UsesLibrary
annotation to make this work because then apps built with components that rely on Guava would have errors. We can provide our own implementation to prevent collisions and allow built apps to work.