山海小管家.apk(点击下载) / AssetAndUrlModuleSourceProvider.java
package com.stardust.autojs.engine.module;
import a.g.b.f.a;
import android.content.Context;
import android.content.res.AssetManager;
import com.stardust.autojs.engine.encryption.ScriptEncryption;
import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URI;
import java.net.URLConnection;
import java.util.List;
import org.mozilla.javascript.commonjs.module.provider.ModuleSource;
public class AssetAndUrlModuleSourceProvider extends UrlModuleSourceProvider {
public final String mAssetDirPath;
public final AssetManager mAssetManager = this.mContext.getAssets();
public final URI mBaseURI;
public Context mContext;
public AssetAndUrlModuleSourceProvider(Context context, String str, List<URI> list) {
super(list, null);
this.mContext = context;
this.mAssetDirPath = str;
this.mBaseURI = URI.create("file:///android_asset/" + str);
}
@Override // com.stardust.autojs.engine.module.UrlModuleSourceProvider
public Reader getReader(URLConnection uRLConnection) {
InputStream inputStream = uRLConnection.getInputStream();
byte[] bArr = new byte[inputStream.available()];
inputStream.read(bArr);
inputStream.close();
a aVar = a.f2538b;
return a.a(bArr) ? new InputStreamReader(new ByteArrayInputStream(ScriptEncryption.Companion.decrypt(bArr, 8, bArr.length))) : new InputStreamReader(new ByteArrayInputStream(bArr));
}
@Override // org.mozilla.javascript.commonjs.module.provider.ModuleSourceProviderBase, com.stardust.autojs.engine.module.UrlModuleSourceProvider
public ModuleSource loadFromPrivilegedLocations(String str, Object obj) {
String b2 = !str.endsWith(".js") ? a.b.c.a.a.b(str, ".js") : str;
try {
AssetManager assetManager = this.mAssetManager;
InputStreamReader inputStreamReader = new InputStreamReader(assetManager.open(this.mAssetDirPath + "/" + b2));
return new ModuleSource(inputStreamReader, null, new URI(this.mBaseURI.toString() + "/" + b2), this.mBaseURI, obj);
} catch (FileNotFoundException unused) {
return super.loadFromPrivilegedLocations(str, obj);
}
}
}