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
18 files changed
tree: 5ea069ff2197d667589e8d30fcd6dda5f0496c96
  1. renderscript/
  2. v13/
  3. v4/
  4. v7/
  5. CleanSpec.mk