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

Commit 335759a3 authored by slki.shin's avatar slki.shin
Browse files

Fix null pointer exception on AvrcpTargetService



This fixes null pointer exception by simply adding null pointer checker.
Problem occurs when sendMediaUpdate() is called just after Avrcp
Service is stop()ed.

Error Message: java.lang.NullPointerException: Attempt to invoke virtual method ’void com.android.bluetooth.avrcp.AvrcpNativeInterface.sendMediaUpdate(boolean, boolean, boolean)’ on a null object reference
Test: Once issue

Change-Id: Id42e48faa28ce6c1ec6d4148705d3342261aa6ca
Signed-off-by: default avatarslki.shin <slki.shin@samsung.com>
parent 5518e430
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -68,6 +68,8 @@ public class AvrcpTargetService extends ProfileService {
            MediaPlayerList.FolderUpdateCallback {
            MediaPlayerList.FolderUpdateCallback {
        @Override
        @Override
        public void run(MediaData data) {
        public void run(MediaData data) {
            if (mNativeInterface == null) return;

            boolean metadata = !Objects.equals(mCurrentData.metadata, data.metadata);
            boolean metadata = !Objects.equals(mCurrentData.metadata, data.metadata);
            boolean state = !MediaPlayerWrapper.playstateEquals(mCurrentData.state, data.state);
            boolean state = !MediaPlayerWrapper.playstateEquals(mCurrentData.state, data.state);
            boolean queue = !Objects.equals(mCurrentData.queue, data.queue);
            boolean queue = !Objects.equals(mCurrentData.queue, data.queue);
@@ -84,6 +86,8 @@ public class AvrcpTargetService extends ProfileService {
        @Override
        @Override
        public void run(boolean availablePlayers, boolean addressedPlayers,
        public void run(boolean availablePlayers, boolean addressedPlayers,
                boolean uids) {
                boolean uids) {
            if (mNativeInterface == null) return;

            mNativeInterface.sendFolderUpdate(availablePlayers, addressedPlayers, uids);
            mNativeInterface.sendFolderUpdate(availablePlayers, addressedPlayers, uids);
        }
        }
    }
    }