blob: da70f81d380ed086d13d90db527ed3d2a90e469e [file] [log] [blame]
package com.xtremelabs.robolectric.res;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class RawResourceLoader {
private ResourceExtractor resourceExtractor;
private File resourceDir;
public RawResourceLoader(ResourceExtractor resourceExtractor, File resourceDir) {
this.resourceExtractor = resourceExtractor;
this.resourceDir = resourceDir;
}
public InputStream getValue(int resourceId) {
String resourceFileName = resourceExtractor.getResourceName(resourceId);
String resourceName = resourceFileName.substring("/raw".length());
File rawResourceDir = new File(resourceDir, "raw");
try {
File[] files = rawResourceDir.listFiles();
for (int i = 0; i < files.length; i++) {
File file = files[i];
String name = file.getName();
int dotIndex = name.indexOf(".");
String fileBaseName = null;
if (dotIndex >= 0) {
fileBaseName = name.substring(0, dotIndex);
} else {
fileBaseName = name;
}
if (fileBaseName.equals(resourceName)) {
return new FileInputStream(file);
}
}
} catch (FileNotFoundException e) {
return null;
}
return null;
}
}