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

Commit 59cd9748 authored by Rambo Wang's avatar Rambo Wang Committed by Automerger Merge Worker
Browse files

Merge "Do not allow null signal thresholds in SignalStrengthUpdateRequest" am: b6aa5b7d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1894915

Change-Id: I8d106c507913a9f1e0311ac47a5e1da5d34a6ee0
parents 73357c61 b6aa5b7d
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -71,12 +71,7 @@ public final class SignalStrengthUpdateRequest implements Parcelable {
            @Nullable List<SignalThresholdInfo> signalThresholdInfos,
            boolean isReportingRequestedWhileIdle,
            boolean isSystemThresholdReportingRequestedWhileIdle) {
        // System app (like Bluetooth) can specify the request to report system thresholds while
        // device is idle (with permission protection). In this case, the request doesn't need to
        // provide a non-empty list of SignalThresholdInfo which is only asked for public apps.
        if (!isSystemThresholdReportingRequestedWhileIdle) {
            validate(signalThresholdInfos);
        }
        validate(signalThresholdInfos, isSystemThresholdReportingRequestedWhileIdle);

        mSignalThresholdInfos = signalThresholdInfos;
        mIsReportingRequestedWhileIdle = isReportingRequestedWhileIdle;
@@ -274,8 +269,12 @@ public final class SignalStrengthUpdateRequest implements Parcelable {
     * Throw IAE if SignalThresholdInfo collection is null or empty,
     * or the SignalMeasurementType for the same RAN in the collection is not unique.
     */
    private static void validate(Collection<SignalThresholdInfo> infos) {
        if (infos == null || infos.isEmpty()) {
    private static void validate(Collection<SignalThresholdInfo> infos,
            boolean isSystemThresholdReportingRequestedWhileIdle) {
        // System app (like Bluetooth) can specify the request to report system thresholds while
        // device is idle (with permission protection). In this case, the request doesn't need to
        // provide a non-empty list of SignalThresholdInfo which is only asked for public apps.
        if (infos == null || (infos.isEmpty() && !isSystemThresholdReportingRequestedWhileIdle)) {
            throw new IllegalArgumentException("SignalThresholdInfo collection is null or empty");
        }