Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Attachment actions
Unintended behavior
View staffing
Description
The problem is that the rules are
-keep class * implements android.arch.lifecycle.LifecycleObserver {
}
which are overly-keepy. Despite saying 'class', it actually matches classes and interfaces which causes the other interfaces in the library to be kept even when unused (see attachment).
The rule should be changed to:
-keep !interface * implements android.arch.lifecycle.LifecycleObserver
which will prevent any unused interfaces from being kept which are subtypes of lifecycle observer and instead only retain actual classes.