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

Commit 9dbdb46f authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Replaced BitUtils#maskedEquals hidden API call"

parents 10b5aece 3809d97a
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Map;
import java.util.Objects;
import java.util.Objects;
import java.util.Set;
import java.util.Set;
import java.util.UUID;


/**
/**
 * Helper class for Bluetooth LE utils.
 * Helper class for Bluetooth LE utils.
@@ -137,4 +138,21 @@ public class BluetoothLeUtils {
        }
        }
    }
    }


    /**
     * Compares two UUIDs with a UUID mask.
     *
     * @param data first {@link #UUID} to compare.
     * @param uuid second {@link #UUID} to compare.
     * @param mask mask {@link #UUID}.
     * @return true if both UUIDs are equals when masked, false otherwise.
     */
    static boolean maskedEquals(UUID data, UUID uuid, UUID mask) {
        if (mask == null) {
            return Objects.equals(data, uuid);
        }
        return (data.getLeastSignificantBits() & mask.getLeastSignificantBits())
                == (uuid.getLeastSignificantBits() & mask.getLeastSignificantBits())
                && (data.getMostSignificantBits() & mask.getMostSignificantBits())
                == (uuid.getMostSignificantBits() & mask.getMostSignificantBits());
    }
}
}
+2 −4
Original line number Original line Diff line number Diff line
@@ -28,8 +28,6 @@ import android.os.Parcel;
import android.os.ParcelUuid;
import android.os.ParcelUuid;
import android.os.Parcelable;
import android.os.Parcelable;


import com.android.internal.util.BitUtils;

import java.util.Arrays;
import java.util.Arrays;
import java.util.List;
import java.util.List;
import java.util.Objects;
import java.util.Objects;
@@ -448,7 +446,7 @@ public final class ScanFilter implements Parcelable {


    // Check if the uuid pattern matches the particular service uuid.
    // Check if the uuid pattern matches the particular service uuid.
    private static boolean matchesServiceUuid(UUID uuid, UUID mask, UUID data) {
    private static boolean matchesServiceUuid(UUID uuid, UUID mask, UUID data) {
        return BitUtils.maskedEquals(data, uuid, mask);
        return BluetoothLeUtils.maskedEquals(data, uuid, mask);
    }
    }


    /**
    /**
@@ -478,7 +476,7 @@ public final class ScanFilter implements Parcelable {
    // Check if the solicitation uuid pattern matches the particular service solicitation uuid.
    // Check if the solicitation uuid pattern matches the particular service solicitation uuid.
    private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid,
    private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid,
            UUID solicitationUuidMask, UUID data) {
            UUID solicitationUuidMask, UUID data) {
        return BitUtils.maskedEquals(data, solicitationUuid, solicitationUuidMask);
        return BluetoothLeUtils.maskedEquals(data, solicitationUuid, solicitationUuidMask);
    }
    }


    // Check whether the data pattern matches the parsed data.
    // Check whether the data pattern matches the parsed data.