# Bugsee leak extension — keep public entry points so consumer R8 does not
# strip or rename classes reached via the merged manifest or
# Bugsee.ext(Leak.class).

# BugseeLeak facade — public API surface.
-keep class com.bugsee.library.BugseeLeak {
    public *;
}

# BugseeLeakInitProvider — registered in the manifest and instantiated by
# Android's ContentProvider machinery.
-keep class com.bugsee.library.BugseeLeakInitProvider { *; }

# Leak contract interface — facade implements it; consumers fetch it via
# Bugsee.ext(Leak.class).
-keep interface com.bugsee.library.contracts.extensions.Leak { *; }

# DeepAnalysisTask — the production DeepEverywhere deferral job. It is
# instantiated reflectively by BugseeBackgroundJobService via
# Class.forName(name).getConstructor().newInstance(), so its name must not be
# renamed and its no-arg constructor must be kept, or the deferred deep analysis
# silently never runs in a minified consumer app.
-keep class com.bugsee.library.leak.deep.DeepAnalysisTask {
    public <init>();
}
