<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.13.0-alpha01" type="baseline" client="gradle" dependencies="false" name="AGP (8.13.0-alpha01)" variant="all" version="8.13.0-alpha01">

    <issue
        id="CheckResult"
        message="The result of `immediateFailedFuture` is not used"
        errorLine1="                Futures.immediateFailedFuture&lt;androidx.wear.tiles.ResourceBuilders.Resources>("
        errorLine2="                ^">
        <location
            file="src/main/java/androidx/glance/wear/tiles/GlanceTileService.kt"/>
    </issue>

    <issue
        id="CheckResult"
        message="The result of `assertThat` is not used"
        errorLine1="            assertThat(innerBox.width is androidx.wear.tiles.DimensionBuilders.DpProp)"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt"/>
    </issue>

    <issue
        id="CheckResult"
        message="The result of `assertThat` is not used"
        errorLine1="            assertThat(innerBox.height is androidx.wear.tiles.DimensionBuilders.DpProp)"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt"/>
    </issue>

    <issue
        id="CheckResult"
        message="The result of `assertThat` is not used"
        errorLine1="            assertThat(innerBox.width is androidx.wear.tiles.DimensionBuilders.DpProp)"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt"/>
    </issue>

    <issue
        id="CheckResult"
        message="The result of `assertThat` is not used"
        errorLine1="            assertThat(innerBox.height is androidx.wear.tiles.DimensionBuilders.DpProp)"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/test/kotlin/androidx/glance/wear/tiles/WearCompositionTranslatorTest.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="    return { curvedChildList.forEach { composable -> object : CurvedChildScope {}.composable() } }"
        errorLine2="                             ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/curved/CurvedRow.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            it.children.addAll(children.map { it.copy() })"
        errorLine2="                                        ~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/curved/CurvedRow.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            it.children.addAll(children.map { it.copy() })"
        errorLine2="                                        ~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/curved/CurvedRow.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="    children.mapIndexed { index, child ->"
        errorLine2="             ~~~~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="    toDelete.forEach { children.removeAt(it) }"
        errorLine2="             ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            children.forEach { child ->"
        errorLine2="                     ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            .setContentDescription(it.joinToString())"
        errorLine2="                                      ~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            .setContentDescription(it.joinToString())"
        errorLine2="                                      ~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            element.children.forEach {"
        errorLine2="                             ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="                element.children.forEach {"
        errorLine2="                                 ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="                element.children.forEach {"
        errorLine2="                                 ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="    element.children.forEach { curvedChild ->"
        errorLine2="                     ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="ListIterator"
        message="Creating an unnecessary Iterator to iterate through a List"
        errorLine1="            curvedChild.children.forEach {"
        errorLine2="                                 ~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/WearCompositionTranslator.kt"/>
    </issue>

    <issue
        id="PrimitiveInCollection"
        message="variable toDelete with type List&lt;Integer>: replace with IntList"
        errorLine1="    val toDelete = mutableListOf&lt;Int>()"
        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/glance/wear/tiles/NormalizeCompositionTree.kt"/>
    </issue>

</issues>
