audio policy: refine strategy invalidation logic

In checkOutputForAttributes(), only invalidate streams
if at least one client would move from output stream or we have
a dynamic policy installed.
Previous logic was systematically invalidating streams as soon as the
list of possible outputs for a given strategy had changed.
This avoids unnecessary playback disruptions when the route change can be
achieved by just selecting a new device on current output.

Bug: 132860590
Test: listen to visual voice mail and turn speaker phone on and off
Change-Id: Iee2d7cb336e1e699af4393e7d4aaef4cb266f265
1 file changed