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

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.setNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api29Impl.setNotificationUris(delegate, cr, uris)"
        errorLine2="                                          ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.setNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api29Impl.setNotificationUris(delegate, cr, uris)"
        errorLine2="                                                              ~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.setNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api29Impl.setNotificationUris(delegate, cr, uris)"
        errorLine2="                                                                        ~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.setNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api29Impl.setNotificationUris(delegate, cr, uris)"
        errorLine2="                                                                            ~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.getNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            return SupportSQLiteCompat.Api29Impl.getNotificationUris(delegate)"
        errorLine2="                                                 ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api29Impl.getNotificationUris can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            return SupportSQLiteCompat.Api29Impl.getNotificationUris(delegate)"
        errorLine2="                                                                     ~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api23Impl.setExtras can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api23Impl.setExtras(delegate, extras)"
        errorLine2="                                          ~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api23Impl.setExtras can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api23Impl.setExtras(delegate, extras)"
        errorLine2="                                                    ~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Api23Impl.setExtras can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            SupportSQLiteCompat.Api23Impl.setExtras(delegate, extras)"
        errorLine2="                                                              ~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/AutoClosingRoomOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="ProcessLock can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="        val copyLock = ProcessLock("
        errorLine2="                       ~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/PrePackagedCopyOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="ProcessLock can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            name,"
        errorLine2="            ~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/PrePackagedCopyOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="ProcessLock can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            context.filesDir,"
        errorLine2="            ~~~~~~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/PrePackagedCopyOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="ProcessLock.lock can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            copyLock.lock()"
        errorLine2="                     ~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/PrePackagedCopyOpenHelper.android.kt"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="ProcessLock.unlock can only be called from within the same library group (referenced groupId=`androidx.sqlite` from groupId=`androidx.room`)"
        errorLine1="            copyLock.unlock()"
        errorLine2="                     ~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/support/PrePackagedCopyOpenHelper.android.kt"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; SDK_INT is always >= 21"
        errorLine1="                    Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP"
        errorLine2="                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/RoomDatabase.android.kt"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; SDK_INT is always >= 21"
        errorLine1="    if (Build.VERSION.SDK_INT >= 20) {"
        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/androidMain/kotlin/androidx/room/util/TableInfo.android.kt"/>
    </issue>

</issues>
