Broadcast ACTION_USB_STATE only if necessary.

Modify UsbDeviceManager.updateUsbStateBroadcast to broadcast
ACTION_USB_STATE intent only when any of the USB states have
changed.
By doing this, the processes that receive ACTION_USB_STATE intent
(e.g. android.process.media) are not launched during boot
unnecessarily.
This change reduces boot time by about 200 ms.

BUG: 22163689
Change-Id: I1853a23b0263d9ff608b02d6bc98fe58f584cc19
2 files changed