Loading media/java/android/media/tv/DsmccResponse.java +39 −24 Original line number Diff line number Diff line Loading @@ -122,11 +122,12 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel mBiopMessageType = BIOP_MESSAGE_TYPE_STREAM; mFileDescriptor = null; mChildList = null; mEventIds = eventIds; mEventNames = eventNames; if (mEventIds.length != eventNames.length) { if (!((eventIds != null && eventNames != null && eventIds.length == eventNames.length) || (eventIds == null && eventNames == null))) { throw new IllegalStateException("The size of eventIds and eventNames must be equal"); } mEventIds = eventIds; mEventNames = eventNames; } private DsmccResponse(@NonNull Parcel source) { Loading @@ -137,10 +138,13 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel case BIOP_MESSAGE_TYPE_SERVICE_GATEWAY: case BIOP_MESSAGE_TYPE_DIRECTORY: int childNum = source.readInt(); if (childNum > 0) { mChildList = new ArrayList<>(); for (int i = 0; i < childNum; i++) { mChildList.add(source.readString()); } } else mChildList = null; mFileDescriptor = null; mEventIds = null; mEventNames = null; Loading @@ -153,12 +157,17 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel break; case BIOP_MESSAGE_TYPE_STREAM: int eventNum = source.readInt(); if (eventNum > 0) { mEventIds = new int[eventNum]; mEventNames = new String[eventNum]; for (int i = 0; i < eventNum; i++) { mEventIds[i] = source.readInt(); mEventNames[i] = source.readString(); } } else { mEventIds = null; mEventNames = null; } mChildList = null; mFileDescriptor = null; break; Loading Loading @@ -196,7 +205,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel && !mBiopMessageType.equals(BIOP_MESSAGE_TYPE_SERVICE_GATEWAY)) { throw new IllegalStateException("Not directory object"); } return new ArrayList<String>(mChildList); return mChildList != null ? new ArrayList<String>(mChildList) : new ArrayList<String>(); } /** Loading @@ -207,7 +216,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel if (!mBiopMessageType.equals(BIOP_MESSAGE_TYPE_STREAM)) { throw new IllegalStateException("Not stream event object"); } return mEventIds; return mEventIds != null ? mEventIds : new int[0]; } /** Loading @@ -218,7 +227,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel if (!mBiopMessageType.equals(BIOP_MESSAGE_TYPE_STREAM)) { throw new IllegalStateException("Not stream event object"); } return mEventNames; return mEventNames != null ? mEventNames : new String[0]; } @Override Loading @@ -233,20 +242,26 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel switch (mBiopMessageType) { case BIOP_MESSAGE_TYPE_SERVICE_GATEWAY: case BIOP_MESSAGE_TYPE_DIRECTORY: if (mChildList != null && mChildList.size() > 0) { dest.writeInt(mChildList.size()); for (String child : mChildList) { dest.writeString(child); } } else dest.writeInt(0); break; case BIOP_MESSAGE_TYPE_FILE: dest.writeFileDescriptor(mFileDescriptor.getFileDescriptor()); break; case BIOP_MESSAGE_TYPE_STREAM: if (mEventIds != null && mEventIds.length > 0) { dest.writeInt(mEventIds.length); for (int i = 0; i < mEventIds.length; i++) { dest.writeInt(mEventIds[i]); dest.writeString(mEventNames[i]); } } else dest.writeInt(0); break; default: throw new IllegalStateException("unexpected BIOP message type"); Loading Loading
media/java/android/media/tv/DsmccResponse.java +39 −24 Original line number Diff line number Diff line Loading @@ -122,11 +122,12 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel mBiopMessageType = BIOP_MESSAGE_TYPE_STREAM; mFileDescriptor = null; mChildList = null; mEventIds = eventIds; mEventNames = eventNames; if (mEventIds.length != eventNames.length) { if (!((eventIds != null && eventNames != null && eventIds.length == eventNames.length) || (eventIds == null && eventNames == null))) { throw new IllegalStateException("The size of eventIds and eventNames must be equal"); } mEventIds = eventIds; mEventNames = eventNames; } private DsmccResponse(@NonNull Parcel source) { Loading @@ -137,10 +138,13 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel case BIOP_MESSAGE_TYPE_SERVICE_GATEWAY: case BIOP_MESSAGE_TYPE_DIRECTORY: int childNum = source.readInt(); if (childNum > 0) { mChildList = new ArrayList<>(); for (int i = 0; i < childNum; i++) { mChildList.add(source.readString()); } } else mChildList = null; mFileDescriptor = null; mEventIds = null; mEventNames = null; Loading @@ -153,12 +157,17 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel break; case BIOP_MESSAGE_TYPE_STREAM: int eventNum = source.readInt(); if (eventNum > 0) { mEventIds = new int[eventNum]; mEventNames = new String[eventNum]; for (int i = 0; i < eventNum; i++) { mEventIds[i] = source.readInt(); mEventNames[i] = source.readString(); } } else { mEventIds = null; mEventNames = null; } mChildList = null; mFileDescriptor = null; break; Loading Loading @@ -196,7 +205,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel && !mBiopMessageType.equals(BIOP_MESSAGE_TYPE_SERVICE_GATEWAY)) { throw new IllegalStateException("Not directory object"); } return new ArrayList<String>(mChildList); return mChildList != null ? new ArrayList<String>(mChildList) : new ArrayList<String>(); } /** Loading @@ -207,7 +216,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel if (!mBiopMessageType.equals(BIOP_MESSAGE_TYPE_STREAM)) { throw new IllegalStateException("Not stream event object"); } return mEventIds; return mEventIds != null ? mEventIds : new int[0]; } /** Loading @@ -218,7 +227,7 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel if (!mBiopMessageType.equals(BIOP_MESSAGE_TYPE_STREAM)) { throw new IllegalStateException("Not stream event object"); } return mEventNames; return mEventNames != null ? mEventNames : new String[0]; } @Override Loading @@ -233,20 +242,26 @@ public final class DsmccResponse extends BroadcastInfoResponse implements Parcel switch (mBiopMessageType) { case BIOP_MESSAGE_TYPE_SERVICE_GATEWAY: case BIOP_MESSAGE_TYPE_DIRECTORY: if (mChildList != null && mChildList.size() > 0) { dest.writeInt(mChildList.size()); for (String child : mChildList) { dest.writeString(child); } } else dest.writeInt(0); break; case BIOP_MESSAGE_TYPE_FILE: dest.writeFileDescriptor(mFileDescriptor.getFileDescriptor()); break; case BIOP_MESSAGE_TYPE_STREAM: if (mEventIds != null && mEventIds.length > 0) { dest.writeInt(mEventIds.length); for (int i = 0; i < mEventIds.length; i++) { dest.writeInt(mEventIds[i]); dest.writeString(mEventNames[i]); } } else dest.writeInt(0); break; default: throw new IllegalStateException("unexpected BIOP message type"); Loading