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

Commit 5b84490a authored by Beth Thibodeau's avatar Beth Thibodeau
Browse files

Add null checks to browser callbacks

There were reports with a couple crashes in testConnection due to a race
condition where we've disconnected the browser before the callback
completed. In that event we should consider it an error state.

Fixes: 159961110
Test: atest
Change-Id: I4fc58ad9ac39e4264ff52c05ff0aeab4e26b3638
parent 402d7238
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ public class ResumeMediaBrowser {
            // a request with EXTRA_RECENT; if they don't, no resume controls
            MediaBrowser.MediaItem child = children.get(0);
            MediaDescription desc = child.getDescription();
            if (child.isPlayable()) {
            if (child.isPlayable() && mMediaBrowser != null) {
                mCallback.addTrack(desc, mMediaBrowser.getServiceComponent(),
                        ResumeMediaBrowser.this);
            } else {
@@ -129,7 +129,7 @@ public class ResumeMediaBrowser {
        @Override
        public void onConnected() {
            Log.d(TAG, "Service connected for " + mComponentName);
            if (mMediaBrowser.isConnected()) {
            if (mMediaBrowser != null && mMediaBrowser.isConnected()) {
                String root = mMediaBrowser.getRoot();
                if (!TextUtils.isEmpty(root)) {
                    mCallback.onConnected();
@@ -187,7 +187,7 @@ public class ResumeMediaBrowser {
                    @Override
                    public void onConnected() {
                        Log.d(TAG, "Connected for restart " + mMediaBrowser.isConnected());
                        if (!mMediaBrowser.isConnected()) {
                        if (mMediaBrowser == null || !mMediaBrowser.isConnected()) {
                            mCallback.onError();
                            return;
                        }
@@ -246,7 +246,7 @@ public class ResumeMediaBrowser {
                    @Override
                    public void onConnected() {
                        Log.d(TAG, "connected");
                        if (!mMediaBrowser.isConnected()
                        if (mMediaBrowser == null || !mMediaBrowser.isConnected()
                                || TextUtils.isEmpty(mMediaBrowser.getRoot())) {
                            mCallback.onError();
                        } else {