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

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                assertThat(bundle!![key])"
        errorLine2="                           ~~~~~~~~~~~~~">
        <location
            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
            line="99"
            column="28"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                    .isEqualTo(args[key])"
        errorLine2="                               ~~~~~~~~~">
        <location
            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
            line="100"
            column="32"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                    assertThat(bundle!![entry.key])"
        errorLine2="                               ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/androidTest/java/androidx/navigation/AddInDefaultArgsTest.kt"
            line="108"
            column="32"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="        if (!isNullable &amp;&amp; bundle.containsKey(name) &amp;&amp; bundle[name] == null) {"
        errorLine2="                                                       ~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavArgument.kt"
            line="71"
            column="56"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Int"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="264"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Int"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="293"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as IntArray?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="322"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Long"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="348"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as LongArray?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="384"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Float"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="408"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as FloatArray?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="433"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Boolean?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="457"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as BooleanArray?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="490"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as String?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="514"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="                return bundle[key] as Array&lt;String>?"
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="542"
            column="24"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="            return bundle[key] as D?"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="576"
            column="20"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="            return bundle[key] as Array&lt;D>?"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="630"
            column="20"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="            return bundle[key] as D?"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="710"
            column="20"/>
    </issue>

    <issue
        id="NewApi"
        message="Call requires API level 21 (current min is 14): `android.os.BaseBundle#get`"
        errorLine1="            return bundle[key] as Array&lt;D>?"
        errorLine2="                   ~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/navigation/NavType.kt"
            line="796"
            column="20"/>
    </issue>

</issues>
