Ensure weakly referenced Kotlin callback fields are kept
This is an extension of earlier work for keeping callback fields that
are weakly referenced in the registrar. Private Kotlin fields for
anonymous objects default to using the anonymous type. This breaks the
existing keep pattern matching for such callbacks. Extend the rules
to handle this case, also keeping any fields that extend the callback
type.
A better solution will be to annotate the Callback types directly, and
define a single rule that keeps any fields of a correspondingly
annotated type, but that requires more invasive changes. This should
fix any issues now while we work on that solution.
Bug: 264686688
Test: m + `dexdump SystemUI.apk | grep MediaDataFilter$userTracker`
Change-Id: Ib4d75c4cc3b121b818250e7191747b01413bd71a
1 file changed