blob: 96956ab46e081988ac57cc741fa860baa9241cc4 [file] [log] [blame]
package org.robolectric.res;
public class ResourcePath {
public final Class<?> rClass;
public final String packageName;
public final FsFile resourceBase;
public final FsFile assetsDir;
public final FsFile rawDir;
public ResourcePath(Class<?> rClass, String packageName, FsFile resourceBase, FsFile assetsDir) {
this.rClass = rClass;
this.packageName = packageName;
this.resourceBase = resourceBase;
this.assetsDir = assetsDir;
FsFile rawDir = resourceBase.join("raw");
this.rawDir = rawDir.exists() ? rawDir : null;
}
public String getPackageName() {
return packageName;
}
@Override
public String toString() {
return "ResourcePath{package=" + getPackageName() + ", path=" + resourceBase + '}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof ResourcePath)) return false;
ResourcePath that = (ResourcePath) o;
if (!assetsDir.equals(that.assetsDir)) return false;
if (!packageName.equals(that.packageName)) return false;
if (!(rClass == null ? that.rClass == null : rClass.equals(that.rClass))) return false;
if (!(rawDir == null ? that.rawDir == null : rawDir.equals(that.rawDir))) return false;
if (!resourceBase.equals(that.resourceBase)) return false;
return true;
}
@Override
public int hashCode() {
int result = rClass != null ? rClass.hashCode() : 0;
result = 31 * result + packageName.hashCode();
result = 31 * result + resourceBase.hashCode();
result = 31 * result + assetsDir.hashCode();
if (rawDir != null) {
result = 31 * result + rawDir.hashCode();
}
return result;
}
}