MCPcopy Create free account
hub / github.com/buggins/coolreader / Engine

Class Engine

android/src/org/coolreader/crengine/Engine.java:32–1313  ·  view source on GitHub ↗

CoolReader Engine class. Only one instance is allowed.

Source from the content-addressed store, hash-verified

30 * Only one instance is allowed.
31 */
32public class Engine {
33
34 public static final Logger log = L.create("en");
35
36 private final CoolReader mActivity;
37 private final BackgroundThread mBackgroundThread;
38 private File[] mountedRootsList;
39 private Map<String, String> mountedRootsMap;
40
41 static final private String LIBRARY_NAME = "cr3engine-45-15";
42
43 // private final View mMainView;
44 // private final ExecutorService mExecutor =
45 // Executors.newFixedThreadPool(1);
46
47 /**
48 * Get storage root directories.
49 *
50 * @return array of r/w storage roots
51 */
52 public File[] getStorageDirectories(boolean writableOnly) {
53 Collection<File> res = new HashSet<File>(2);
54 for (File dir : mountedRootsList) {
55 if (dir.isDirectory() && (!writableOnly || dir.canWrite()))
56 res.add(dir);
57 }
58 return res.toArray(new File[res.size()]);
59 }
60
61 public Map<String, String> getMountedRootsMap() {
62 return mountedRootsMap;
63 }
64
65 /**
66 * Get or create writable subdirectory for specified base directory
67 *
68 * @param dir
69 * is base directory
70 * @param subdir
71 * is subdirectory name, null to use base directory
72 * @param createIfNotExists
73 * is true to force directory creation
74 * @return writable directory, null if not exist or not writable
75 */
76 public static File getSubdir(File dir, String subdir,
77 boolean createIfNotExists, boolean writableOnly) {
78 if (dir == null)
79 return null;
80 File dataDir = dir;
81 if (subdir != null) {
82 dataDir = new File(dataDir, subdir);
83 if (!dataDir.isDirectory() && createIfNotExists)
84 dataDir.mkdir();
85 }
86 if (dataDir.isDirectory() && (!writableOnly || dataDir.canWrite()))
87 return dataDir;
88 return null;
89 }

Callers

nothing calls this directly

Calls 1

createMethod · 0.95

Tested by

no test coverage detected