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

Commit 62cedb85 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 am: 14077cf2

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

Change-Id: I8cc614be29038baebc2f0c42e66ced7d5d06107a
parents c42a8a07 14077cf2
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");
        }