Merge "Don't crash system process on empty onTuneFailed" into qt-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7b19135cc5
@@ -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)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user