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

Commit 38dcf6a8 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

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

Change-Id: I07eedad3dff519386abb45a172e8c26d837574e5
parents d2cc19e8 616b2a26
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);