Use std::variant for NotifyArgs
Previously, NotifyArgs was a base class and we relied on inheritance in order to refer to these args in a generic manner. Unfortunately, this prevents us from being able to cast into a descendant. If you got NotifyArgs, there was no way to figure out its type. In this CL, we switch to std::variant. Doing this allows us to remove the inheritance, and several other functions. The classes are now mostly about data. This allows us to receive a generic NotifyArgs object and cast it into NotifyMotionArgs (for example). This also allows us to separate NotifyArgs from the InputListener interface (not done in this CL). Furthermore, we don't need to store the args as unique_ptr anymore. Bug: 211379801 Test: m checkinput Change-Id: I5b10d485a9eb27b4ffb6a3a6e21227f52ac3dede
Loading
Please register or sign in to comment