使用EnumSet替代位运算
到这里你可能觉得问题解决了就完了,但是还没有!..., ACCESSORY, ADB]
mUsbState contains flag ACCESSORY: true
mUsbState contains flag MTP: false
mUsbState...flag [NCM, MTP]: false
Current usb state is [CONNECTED, ACCESSORY, ADB]
After remove flag MTP, Now state...flags [NCM, MTP], Now state is [CONNECTED, ADB]
After remove flags [NCM, ADB], Now state is [CONNECTED..., ADB], Now state is [CONNECTED]
综上,代码唯一要注意的是
public boolean checkFlagEnabled(Set flag)
传入参数使用了