UsbDebuggingManager : Handle race condition when toggling rapidly

When toggling adb enable/disable rapidly, you can have the situation where the thread's
run() gets invoked but mAdbEnabled is already set to false, hence listenToSocket() never even
gets invoked in which case mOutputStream/mSocket are both null. This patchset adds checks
around that.

Change-Id: Iba56e7409435e22d690432fa663bc0a04a1a447d
Add a HAF access permission

This is signature protected, and extremely dangerous since it
grants system GID.

Change-Id: I2528813de9341187f18ef708e7251b4e5e4003a3
Fix layout recreation check

Change I7d6b088a9235362e03cb6694392df71bbf5a323a added a relayout
for programmatic text direction changes, but this is breaking some
fixed layouts. Make sure layout params exist before trying to
act on them

Change-Id: Ibfe3daa71490d109c9a4bdc4c90cbf9517e53260