diff options
author | Ajay Panicker <apanicke@google.com> | 2018-06-12 10:34:39 -0700 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-06-13 00:28:42 +0000 |
commit | 3e191ef459a9f81bf6cfcfee1e36dec72c2831f2 (patch) | |
tree | e8860cf6cd6875a37e0dadff84f1cf553d1666a4 /src | |
parent | 2c93f9e1f9191e79ec2202e7da87d4ebf471d95b (diff) | |
download | android_packages_apps_Bluetooth-3e191ef459a9f81bf6cfcfee1e36dec72c2831f2.tar.gz android_packages_apps_Bluetooth-3e191ef459a9f81bf6cfcfee1e36dec72c2831f2.tar.bz2 android_packages_apps_Bluetooth-3e191ef459a9f81bf6cfcfee1e36dec72c2831f2.zip |
Prevent crash when a Browsable player has an empty root
Bug: 110051940
Test: runtest bluetooth -c
com.android.bluetooth.avrcp.BrowserPlayerWrapperTest
Change-Id: I2d6db2814f3ea61e95e0a1cc8417274f103af5de
(cherry picked from commit acdf7d6bc28bdda01a3918772d0082fa75bc91c5)
(cherry picked from commit 5851f9b5afe30aea8625e56fc2192befb63c663b)
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/bluetooth/newavrcp/BrowsedPlayerWrapper.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/bluetooth/newavrcp/BrowsedPlayerWrapper.java b/src/com/android/bluetooth/newavrcp/BrowsedPlayerWrapper.java index bd75ae387..93afd178e 100644 --- a/src/com/android/bluetooth/newavrcp/BrowsedPlayerWrapper.java +++ b/src/com/android/bluetooth/newavrcp/BrowsedPlayerWrapper.java @@ -207,7 +207,15 @@ class BrowsedPlayerWrapper { Log.i(TAG, "onConnected: " + mPackageName + " is connected"); // Get the root while connected because we may need to use it when disconnected. mRoot = mWrappedBrowser.getRoot(); - if (mCallback != null) mCallback.run(STATUS_SUCCESS, BrowsedPlayerWrapper.this); + + if (mCallback == null) return; + + if (mRoot == null || mRoot.isEmpty()) { + mCallback.run(STATUS_CONN_ERROR, BrowsedPlayerWrapper.this); + return; + } + + mCallback.run(STATUS_SUCCESS, BrowsedPlayerWrapper.this); mCallback = null; } |