<?xml version="1.0" encoding="UTF-8"?>
<FindBugsFilter>
    <Match>
        <Class name="~.*\.Manifest\$.*" />
    </Match>
    <Match>
        <Class name="~.*\.R\$.*" />
    </Match>
    <Match>
        <Class name="~.*\.R\$.*" />
    </Match>
    <Match>
        <Class name="~.*\$\$Parcelable.*" />
    </Match>

    <!-- Dagger code is autogenerated. Exclude it from Check. -->
    <Match>
        <Or>
            <Class name="~.*\.Dagger.*" />
            <Class name="~com\.nextcloud\.client\.di\..*_.*" />
			<Class name="~dagger\.android\..*" />
        </Or>
    </Match>
    <!-- Dagger generated code uses internal APIs -->
    <Match>
        <Class name="~.*\..*.*Factory" />
        <Bug pattern="IICU_INCORRECT_INTERNAL_CLASS_USE" />
    </Match>

    <!-- Data bindings autogenerated classes -->
    <Match>
        <Or>
            <Class name="~.*BindingImpl"/>
            <Class name="~.*\.DataBinderMapperImpl" />
            <Class name="~.*Binding" />
        </Or>
    </Match>

	<!-- Third-party library code -->
	<Match>
	    <Or>
	        <Package name="~io\.noties\..*" />
			<Package name="~third_parties\.ezvcard_android\..*" />
			<Package name="~com\.afollestad\.sectionedrecyclerview\..*" />
			<Package name="~butterknife\..*" />
			<Package name="~de\.cotech\..*" />
			<Package name="~pl\.droidsonroids\..*" />
		</Or>
	</Match>
	 <Match>
         <Class name="~com\.owncloud\.android\.ui\.preview\.MarkwonGrammarLocator.*" />
    </Match>

    <Bug pattern="PATH_TRAVERSAL_IN" />
    <Bug pattern="ANDROID_EXTERNAL_FILE_ACCESS" />
    <Bug pattern="BAS_BLOATED_ASSIGNMENT_SCOPE" />
    <Bug pattern="IMC_IMMATURE_CLASS_BAD_SERIALVERSIONUID" />

    <!-- This is unmanageable for now due to large amount of interconnected static state -->
    <Bug pattern="FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY" />
</FindBugsFilter>
