Merge "Don't crash system process on empty onTuneFailed" into qt-qpr1-dev

This commit is contained in:
TreeHugger Robot
2020-02-12 14:00:20 +00:00
committed by Android (Google) Code Review

View File

@@ -275,8 +275,18 @@ class Convert {
return hwSel;
}
static @NonNull ProgramSelector programSelectorFromHal(
private static boolean isEmpty(
@NonNull android.hardware.broadcastradio.V2_0.ProgramSelector sel) {
if (sel.primaryId.type != 0) return false;
if (sel.primaryId.value != 0) return false;
if (sel.secondaryIds.size() != 0) return false;
return true;
}
static @Nullable ProgramSelector programSelectorFromHal(
@NonNull android.hardware.broadcastradio.V2_0.ProgramSelector sel) {
if (isEmpty(sel)) return null;
ProgramSelector.Identifier[] secondaryIds = sel.secondaryIds.stream().
map(Convert::programIdentifierFromHal).map(Objects::requireNonNull).
toArray(ProgramSelector.Identifier[]::new);
@@ -364,7 +374,7 @@ class Convert {
collect(Collectors.toList());
return new RadioManager.ProgramInfo(
programSelectorFromHal(info.selector),
Objects.requireNonNull(programSelectorFromHal(info.selector)),
programIdentifierFromHal(info.logicallyTunedTo),
programIdentifierFromHal(info.physicallyTunedTo),
relatedContent,
@@ -402,7 +412,7 @@ class Convert {
public static @NonNull android.hardware.radio.Announcement announcementFromHal(
@NonNull Announcement hwAnnouncement) {
return new android.hardware.radio.Announcement(
programSelectorFromHal(hwAnnouncement.selector),
Objects.requireNonNull(programSelectorFromHal(hwAnnouncement.selector)),
hwAnnouncement.type,
vendorInfoFromHal(hwAnnouncement.vendorInfo)
);