// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry.internal.modules;

import java.io.InputStream;
import java.io.IOException;
import io.sentry.SentryLevel;
import java.util.TreeMap;
import java.util.Map;
import io.sentry.util.ClassLoaderUtils;
import org.jetbrains.annotations.Nullable;
import io.sentry.ILogger;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public final class ResourcesModulesLoader extends ModulesLoader
{
    @NotNull
    private final ClassLoader classLoader;
    
    public ResourcesModulesLoader(@NotNull final ILogger logger) {
        this(logger, ResourcesModulesLoader.class.getClassLoader());
    }
    
    ResourcesModulesLoader(@NotNull final ILogger logger, @Nullable final ClassLoader classLoader) {
        super(logger);
        this.classLoader = ClassLoaderUtils.classLoaderOrDefault(classLoader);
    }
    
    @Override
    protected Map<String, String> loadModules() {
        final Map<String, String> modules = new TreeMap<String, String>();
        try (final InputStream resourcesStream = this.classLoader.getResourceAsStream("sentry-external-modules.txt")) {
            if (resourcesStream == null) {
                this.logger.log(SentryLevel.INFO, "%s file was not found.", "sentry-external-modules.txt");
                final Map<String, String> map = modules;
                if (resourcesStream != null) {
                    resourcesStream.close();
                }
                return map;
            }
            return this.parseStream(resourcesStream);
        }
        catch (final SecurityException e) {
            this.logger.log(SentryLevel.INFO, "Access to resources denied.", e);
        }
        catch (final IOException e2) {
            this.logger.log(SentryLevel.INFO, "Access to resources failed.", e2);
        }
        return modules;
    }
}
