android.utils.Pools is a class copied from frameworks/base. It was
copied because the framework one has been marked as @hide. This caused
the class to be duplicated into the Gallery2 apk and the boot classpath.
At run-time, the class from bootclasspath was used because the
classloader tries to load a class from the parent class loader first.
However, this combined with the recent activation of the kill-switch
caused a runtime error. Working around the issue by renaming the class
copied into the app so that it does not collide with the
framework-defined one.
Bug:
77544391
Test: build aosp_walleye. Take a video and see it via the Gallery2.
The app does not crash.
Change-Id: Ia0af4da84242044da2e0ab63e38df243d9769418
LOCAL_JAVA_LIBRARIES += org.apache.http.legacy
+LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt
+
include $(BUILD_PACKAGE)
ifeq ($(strip $(LOCAL_PACKAGE_OVERRIDES)),)
--- /dev/null
+rule android.util.Pools** com.android.photos.util.Pools@1
-keep class com.android.gallery3d.jpegstream.StreamUtils { *; }
-# TODO: remove or rename android.util.Pools.java from our source.
--dontwarn android.util.Pools*