AudioDeviceInventory: fix unsynced preferred device role when reapply

The preferred device role request from AudioManager will set the device role to
audio policy first and then save it to mPreferredDevices asynchronously.
It may result in the old preferred device role reapplied in reapplyExternalDevicesRoles
and unmatched device role between AudioService and audioserver

The change contains:
1. guard list of preferred/non-default devices by mDevicesLock
2. call save preferred device functions directly.

Bug:362664068
Change-Id: I9bbc5e30ca3c9ddd2494577ea6e40b9f93bd83db
2 files changed