Refactor the Active Source updating logic in CEC devices.

ag/5108161

Move local Active Source to control service since each device
only needs one local Active Source. Easier to update.

But each device needs multiple mIsActiveSource for each device type
since only one of them should be the Active Source.

When Active Source can be handled only by one device type, like OneTouchPlay,
call setAndBroadcastActiveSourceFromOneDeviceType in service to update
all the device types.

When receiving broadcast messages, all of the device types can handle
Active Source updating in their own logic by calling
setAndBroadcastActiveSource in service.

Test: atest com.android.server.hdmi
Change-Id: I88ce68719ae02c7a847dabb6c558abdb6840b3fa
8 files changed