Handling none listener case

Fix the issue: NULL pointer(mEventHandler) is accessed if the listener isn't set.

bug: 171025570
Test: Manual
Change-Id: Ie136f6358f3917a62cb0a7f01870ddb590e90b0c
This commit is contained in:
Henry Fang
2020-10-27 12:03:11 -07:00
parent 8cc563eb1a
commit 7108493e16

View File

@@ -362,28 +362,34 @@ public final class MediaCas implements AutoCloseable {
@Override
public void onEvent(int event, int arg, @Nullable ArrayList<Byte> data)
throws RemoteException {
mEventHandler.sendMessage(mEventHandler.obtainMessage(
if (mEventHandler != null) {
mEventHandler.sendMessage(mEventHandler.obtainMessage(
EventHandler.MSG_CAS_EVENT, event, arg, data));
}
}
@Override
public void onSessionEvent(@NonNull ArrayList<Byte> sessionId,
int event, int arg, @Nullable ArrayList<Byte> data)
throws RemoteException {
Message msg = mEventHandler.obtainMessage();
msg.what = EventHandler.MSG_CAS_SESSION_EVENT;
msg.arg1 = event;
msg.arg2 = arg;
Bundle bundle = new Bundle();
bundle.putByteArray(EventHandler.SESSION_KEY, toBytes(sessionId));
bundle.putByteArray(EventHandler.DATA_KEY, toBytes(data));
msg.setData(bundle);
mEventHandler.sendMessage(msg);
if (mEventHandler != null) {
Message msg = mEventHandler.obtainMessage();
msg.what = EventHandler.MSG_CAS_SESSION_EVENT;
msg.arg1 = event;
msg.arg2 = arg;
Bundle bundle = new Bundle();
bundle.putByteArray(EventHandler.SESSION_KEY, toBytes(sessionId));
bundle.putByteArray(EventHandler.DATA_KEY, toBytes(data));
msg.setData(bundle);
mEventHandler.sendMessage(msg);
}
}
@Override
public void onStatusUpdate(byte status, int arg)
throws RemoteException {
mEventHandler.sendMessage(mEventHandler.obtainMessage(
if (mEventHandler != null) {
mEventHandler.sendMessage(mEventHandler.obtainMessage(
EventHandler.MSG_CAS_STATUS_EVENT, status, arg));
}
}
};