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

Commit 14077cf2 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:...

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

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

Change-Id: I7fc547bcec6a9d16b2a3e148a4fbfaae50f66285
parents fd42131e 59cd9748
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");
        }