Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6b80e4e authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix null pointer exception if USBPort is removed" am: 066cd283 am:...

Merge "Fix null pointer exception if USBPort is removed" am: 066cd283 am: fd536476 am: 616b2a26 am: 38dcf6a8

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1308901

Change-Id: I32852a70966294f6adf340316a96c93e280b9aaa
parents 8863907d 38dcf6a8
Loading
Loading
Loading
Loading
+24 −13
Original line number Diff line number Diff line
@@ -917,11 +917,13 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
                    boolean prevHostConnected = mHostConnected;
                    UsbPort port = (UsbPort) args.arg1;
                    UsbPortStatus status = (UsbPortStatus) args.arg2;

                    if (status != null) {
                        mHostConnected = status.getCurrentDataRole() == DATA_ROLE_HOST;
                        mSourcePower = status.getCurrentPowerRole() == POWER_ROLE_SOURCE;
                        mSinkPower = status.getCurrentPowerRole() == POWER_ROLE_SINK;
                        mAudioAccessoryConnected = (status.getCurrentMode() == MODE_AUDIO_ACCESSORY);
                    mAudioAccessorySupported = port.isModeSupported(MODE_AUDIO_ACCESSORY);

                        // Ideally we want to see if PR_SWAP and DR_SWAP is supported.
                        // But, this should be suffice, since, all four combinations are only supported
                        // when PR_SWAP and DR_SWAP are supported.
@@ -931,6 +933,15 @@ public class UsbDeviceManager implements ActivityTaskManagerInternal.ScreenObser
                                && status.isRoleCombinationSupported(POWER_ROLE_SOURCE,
                                DATA_ROLE_DEVICE)
                                && status.isRoleCombinationSupported(POWER_ROLE_SINK, DATA_ROLE_DEVICE);
                    } else {
                        mHostConnected = false;
                        mSourcePower = false;
                        mSinkPower = false;
                        mAudioAccessoryConnected = false;
                        mSupportsAllCombinations = false;
                    }

                    mAudioAccessorySupported = port.isModeSupported(MODE_AUDIO_ACCESSORY);

                    args.recycle();
                    updateUsbNotification(false);