<?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="RestrictedApiAndroidX"
        message="RouteInfo.isDefaultOrBluetooth can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="            if (!routeInfo.isDefaultOrBluetooth()) {"
        errorLine2="                           ~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/systemrouting/source/AndroidXMediaRouterSystemRoutesSource.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="RouteInfo.DEVICE_TYPE_UNKNOWN can only be accessed from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="        UNKNOWN(MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN);"
        errorLine2="                                      ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/data/RouteItem.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteProvider.onCreateRouteController can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="    public @Nullable RouteController onCreateRouteController(@NonNull String routeId,"
        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="        if (initialRoute.getGroupMemberIds().isEmpty()) {"
        errorLine2="                         ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="            memberIds.addAll(initialRoute.getGroupMemberIds());"
        errorLine2="                                          ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Builder.addGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="                            .addGroupMemberIds(memberIds);"
        errorLine2="                             ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="            for (String memberRouteId : routeDescriptor.getGroupMemberIds()) {"
        errorLine2="                                                        ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Builder.clearGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="                            .clearGroupMemberIds();"
        errorLine2="                             ~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="Builder.addGroupMemberId can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="                groupDescriptorBuilder.addGroupMemberId(memberRouteId);"
        errorLine2="                                       ~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="                if (!routeDescriptor.getGroupMemberIds().isEmpty()"
        errorLine2="                                     ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="                        &amp;&amp; mMemberRouteIds.containsAll(routeDescriptor.getGroupMemberIds())) {"
        errorLine2="                                                                       ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="            if (routeDescriptor.getGroupMemberIds().isEmpty()) {"
        errorLine2="                                ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="RestrictedApiAndroidX"
        message="MediaRouteDescriptor.getGroupMemberIds can only be called from within the same library (androidx.mediarouter:mediarouter)"
        errorLine1="            for (String routeId : routeDescriptor.getGroupMemberIds()) {"
        errorLine2="                                                  ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="@RequiresApi(Build.VERSION_CODES.M)"
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/systemrouting/source/AudioManagerSystemRoutesSource.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="        if (Build.VERSION.SDK_INT >= 23 &amp;&amp; !Api23Impl.canDrawOverlays(this)) {"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/MainActivity.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/MainActivity.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="    @RequiresApi(23)"
        errorLine2="    ~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/MainActivity.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="        if (Build.VERSION.SDK_INT >= 23 &amp;&amp; !Api23Impl.canDrawOverlays(getContext())) {"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleMediaRouteProvider.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="    @RequiresApi(23)"
        errorLine2="    ~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/providers/SampleMediaRouteProvider.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; `SDK_INT` is always >= 23"
        errorLine1="        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {"
        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/androidx/mediarouting/activities/systemrouting/SystemRoutingActivity.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="This folder configuration (`v18`) is unnecessary; `minSdkVersion` is 23. Merge all the resources in this folder into `values`.">
        <location
            file="src/main/res/values-v18"/>
    </issue>

</issues>
