blob: 74dd2a2e9a3caaafd21e31f3d332feeef0e3233f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package com.xtremelabs.robolectric.shadows;
import android.content.res.AssetManager;
import com.xtremelabs.robolectric.internal.Implementation;
import com.xtremelabs.robolectric.internal.Implements;
import com.xtremelabs.robolectric.res.ResourceLoader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import static com.xtremelabs.robolectric.Robolectric.shadowOf;
@SuppressWarnings({"UnusedDeclaration"})
@Implements(AssetManager.class)
public final class ShadowAssetManager {
static AssetManager bind(AssetManager assetManager, ResourceLoader resourceLoader) {
ShadowAssetManager shadowAssetManager = shadowOf(assetManager);
if (shadowAssetManager.resourceLoader != null) throw new RuntimeException("ResourceLoader already set!");
shadowAssetManager.resourceLoader = resourceLoader;
return assetManager;
}
private ResourceLoader resourceLoader;
@Implementation
public final String[] list(String path) throws IOException {
File file = new File(resourceLoader.getAssetsBase(), path);
if (file.isDirectory()) {
return file.list();
}
return new String[0];
}
@Implementation
public final InputStream open(String fileName) throws IOException {
return new FileInputStream(new File(resourceLoader.getAssetsBase(), fileName));
}
}
|