6e6abe6eb358db4c3932752249c8ac61dd3dab21 |
|
08-May-2013 |
Jeff Brown <jeffbrown@google.com> |
Fix several issues with menu wrappers. The menu wrappers were being created for the wrong version due to an upside-down if tree in the menu wrapper factory. The action provider wrapper code was duplicated and failed to propagate the visibility changed event correctly. The new JB API bits were also mixed into the ICS bits. Added @Override in a few places where it was absent. Renamed MenuWrapper to MenuWrapperFactory to avoid confusion in the subtype relation between it and the actual wrapper types. Simplified the wrapper hierarchy by moving construction of support wrapper types into this factory instead of having to override individual createXXX methods on each wrapper type. This means we can get rid of several types, a possible diamond inheritance hierarchy involving MenuWrapperHC and SubMenuWrapperHC and their subtypes and the maintenance hassle of having to update four places whenever a new version specific subtype needs to be added. Added a SupportSubMenu interface type to complete the set of defined interface types. Fixed handling of null listeners in a few places. Bug: 8175766 Change-Id: I8c164893a6025308751a8c05671945874fe047c4
/frameworks/support/v4/java/android/support/v4/internal/view/SupportMenu.java
|