frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java
public void handleMessage(Message msg) {
SomeArgs args;
switch (msg.what) {
case MSG_UPDATE_STATE:
mConnected = (msg.arg1 == 1);
mConfigured = (msg.arg2 == 1);
updateUsbNotification();
updateAdbNotification();
if (UsbManager.containsFunction(mCurrentFunctions,
UsbManager.USB_FUNCTION_ACCESSORY)) {
updateCurrentAccessory();
} else if (!mConnected) {
// restore defaults when USB is disconnected
setEnabledFunctions(null, false, false);
setEnabledFunctions(UsbManager.USB_FUNCTION_MTP, false, true); //lan add
}
if (mBootCompleted) {
updateUsbStateBroadcastIfNeeded();
updateUsbFunctions();