<?xml version="1.0" encoding="UTF-8"?>
<issues format="5" by="lint 4.2.0-alpha06" client="gradle" variant="debug" version="4.2.0-alpha06">

    <issue
        id="BanSynchronizedMethods"
        message="Use of synchronized methods is not recommended"
        errorLine1="    @MainThread"
        errorLine2="    ^">
        <location
            file="src/main/java/androidx/recyclerview/selection/OperationMonitor.java"
            line="71"
            column="5"/>
    </issue>

    <issue
        id="BanSynchronizedMethods"
        message="Use of synchronized methods is not recommended"
        errorLine1="    @MainThread"
        errorLine2="    ^">
        <location
            file="src/main/java/androidx/recyclerview/selection/OperationMonitor.java"
            line="82"
            column="5"/>
    </issue>

    <issue
        id="BanSynchronizedMethods"
        message="Use of synchronized methods is not recommended"
        errorLine1="    /** @hide */"
        errorLine2="    ^">
        <location
            file="src/main/java/androidx/recyclerview/selection/OperationMonitor.java"
            line="97"
            column="5"/>
    </issue>

    <issue
        id="BanSynchronizedMethods"
        message="Use of synchronized methods is not recommended"
        errorLine1="    /** @hide */"
        errorLine2="    ^">
        <location
            file="src/main/java/androidx/recyclerview/selection/OperationMonitor.java"
            line="109"
            column="5"/>
    </issue>

    <issue
        id="BanSynchronizedMethods"
        message="Use of synchronized methods is not recommended"
        errorLine1="    /**"
        errorLine2="    ^">
        <location
            file="src/main/java/androidx/recyclerview/selection/OperationMonitor.java"
            line="115"
            column="5"/>
    </issue>

    <issue
        id="LambdaLast"
        message="Functional interface parameters (such as parameter 1, &quot;keys&quot;, in androidx.recyclerview.selection.DefaultSelectionTracker.setItemsSelected) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions"
        errorLine1="    public boolean setItemsSelected(@NonNull Iterable&lt;K> keys, boolean selected) {"
        errorLine2="                                                               ~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/recyclerview/selection/DefaultSelectionTracker.java"
            line="141"
            column="64"/>
    </issue>

    <issue
        id="LambdaLast"
        message="Functional interface parameters (such as parameter 1, &quot;keys&quot;, in androidx.recyclerview.selection.SelectionTracker.setItemsSelected) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions"
        errorLine1="    public abstract boolean setItemsSelected(@NonNull Iterable&lt;K> keys, boolean selected);"
        errorLine2="                                                                        ~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/recyclerview/selection/SelectionTracker.java"
            line="166"
            column="73"/>
    </issue>

</issues>
