<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 7.1.0-alpha02" type="baseline" client="cli" name="Lint" variant="all" version="7.1.0-alpha02">

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 23; however, the containing class com.example.android.appcompat.AppCompatLintDemo is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            noop.setCompoundDrawableTintList(csl);"
        errorLine2="                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="63"
            column="18"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 23; however, the containing class com.example.android.appcompat.AppCompatLintDemo is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            noop.setCompoundDrawableTintMode(PorterDuff.Mode.DST);"
        errorLine2="                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="64"
            column="18"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.AppCompatLintDemo is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="            ~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="73"
            column="13"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.AppCompatLintDemo is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="                         ~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="73"
            column="26"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.AppCompatLintDemoExt is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="            ~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemoExt.java"
            line="33"
            column="13"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.AppCompatLintDemoExt is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="                         ~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemoExt.java"
            line="33"
            column="26"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.CoreActivityExt is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="            ~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CoreActivityExt.java"
            line="34"
            column="13"/>
    </issue>

    <issue
        id="ClassVerificationFailure"
        message="This call references a method added in API level 21; however, the containing class com.example.android.appcompat.CoreActivityExt is reachable from earlier API levels and will fail run-time class verification."
        errorLine1="            setActionBar(new Toolbar(this));"
        errorLine2="                         ~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CoreActivityExt.java"
            line="34"
            column="26"/>
    </issue>

    <issue
        id="UseAndroidAlpha"
        message="Must use `android:alpha` if `app:alpha` is used"
        errorLine1="    &lt;item app:alpha=&quot;?android:disabledAlpha&quot;"
        errorLine2="          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/res/color/color_state_list_missing_android_alpha.xml"
            line="19"
            column="11"/>
    </issue>

    <issue
        id="UseAppTint"
        message="Must use `app:tint` instead of `android:tint`"
        errorLine1="        android:tint=&quot;#FF0000&quot; />"
        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/res/layout/image_view_using_android_tint.xml"
            line="39"
            column="9"/>
    </issue>

    <issue
        id="UseAppTint"
        message="Must use `app:tint` instead of `android:tint`"
        errorLine1="        android:tint=&quot;#FF0000&quot; />"
        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/res/layout/image_view_using_android_tint.xml"
            line="51"
            column="9"/>
    </issue>

    <issue
        id="SyntheticAccessor"
        message="Access to `private` member of class `ResourceLoader` requires synthetic accessor"
        errorLine1="        ColorStateList csl2 = new ResourceLoader().getColorStateList("
        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="54"
            column="31"/>
    </issue>

    <issue
        id="SyntheticAccessor"
        message="Access to `private` method `getColorStateList` of class `ResourceLoader` requires synthetic accessor"
        errorLine1="        ColorStateList csl2 = new ResourceLoader().getColorStateList("
        errorLine2="                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="54"
            column="31"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public void myButtonClick(View view) {"
        errorLine2="                              ~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/ActivityWithClick.java"
            line="39"
            column="31"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public void onCreate(Bundle savedInstanceState) {"
        errorLine2="                         ~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemo.java"
            line="42"
            column="26"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public void onCreate(Bundle savedInstanceState) {"
        errorLine2="                         ~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/AppCompatLintDemoExt.java"
            line="28"
            column="26"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public void onCreate(Bundle savedInstanceState) {"
        errorLine2="                         ~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CoreActivityExt.java"
            line="29"
            column="26"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public CustomSwitch(Context context) {"
        errorLine2="                        ~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CustomSwitch.java"
            line="28"
            column="25"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public CustomSwitch(Context context, AttributeSet attrs) {"
        errorLine2="                        ~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CustomSwitch.java"
            line="32"
            column="25"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public CustomSwitch(Context context, AttributeSet attrs) {"
        errorLine2="                                         ~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CustomSwitch.java"
            line="32"
            column="42"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public CustomSwitch(Context context, AttributeSet attrs, int defStyleAttr) {"
        errorLine2="                        ~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CustomSwitch.java"
            line="36"
            column="25"/>
    </issue>

    <issue
        id="UnknownNullness"
        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
        errorLine1="    public CustomSwitch(Context context, AttributeSet attrs, int defStyleAttr) {"
        errorLine2="                                         ~~~~~~~~~~~~">
        <location
            file="src/main/java/com/example/android/appcompat/CustomSwitch.java"
            line="36"
            column="42"/>
    </issue>

</issues>
