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

    <issue
        id="UnspecifiedImmutableFlag"
        message="Missing `PendingIntent` mutability flag"
        errorLine1="        PendingIntent pi = PendingIntent.getActivity(getContext(), 0, intent, 0);"
        errorLine2="                                                                              ~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; SDK_INT is always >= 19"
        errorLine1="@RequiresApi(19)"
        errorLine2="~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="ObsoleteSdkInt"
        message="Unnecessary; SDK_INT is always >= 19"
        errorLine1="@RequiresApi(19)"
        errorLine2="~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SliceBroadcastReceiver.java"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
        errorLine1="    public static Uri getUri(String path, Context context) {"
        errorLine2="                  ~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
        errorLine1="    public static Uri getUri(String path, Context context) {"
        errorLine2="                             ~~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
        errorLine1="    public static Uri getUri(String path, Context context) {"
        errorLine2="                                          ~~~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
        errorLine1="    public Slice onBindSlice(@NonNull Uri sliceUri) {"
        errorLine2="           ~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://developer.android.com/kotlin/interop#nullability_annotations"
        errorLine1="    public static ArrayList&lt;String> sGroceryList = new ArrayList&lt;>();"
        errorLine2="                  ~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/androidx/slice/test/SampleSliceProvider.java"/>
    </issue>

</issues>
