Skip to content

Commit e143aa4

Browse files
committed
no more enum
1 parent 57c5ed6 commit e143aa4

File tree

1 file changed

+10
-17
lines changed
  • photon-core/src/main/java/org/photonvision/common

1 file changed

+10
-17
lines changed

photon-core/src/main/java/org/photonvision/common/LoadJNI.java

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,41 +19,34 @@
1919

2020
import edu.wpi.first.util.CombinedRuntimeLoader;
2121
import java.io.IOException;
22+
import java.util.HashMap;
2223
import org.photonvision.jni.LibraryLoader;
2324

2425
public class LoadJNI {
26+
protected static HashMap<JNITypes, Boolean> loadedMap = new HashMap<>();
27+
2528
public enum JNITypes {
26-
RUBIK_DETECTOR(false, "tensorflowlite", "tensorflowlite_c", "external_delegate", "rubik_jni"),
27-
RKNN_DETECTOR(false, "rga", "rknnrt", "rknn_jni"),
28-
MRCAL(false, "mrcal_jni"),
29-
LIBCAMERA(false, "photonlibcamera");
29+
RUBIK_DETECTOR("tensorflowlite", "tensorflowlite_c", "external_delegate", "rubik_jni"),
30+
RKNN_DETECTOR("rga", "rknnrt", "rknn_jni"),
31+
MRCAL("mrcal_jni"),
32+
LIBCAMERA("photonlibcamera");
3033

31-
private volatile boolean hasLoaded;
3234
public final String[] libraries;
3335

34-
JNITypes(boolean hasLoaded, String... libraries) {
35-
this.hasLoaded = hasLoaded;
36+
JNITypes(String... libraries) {
3637
this.libraries = libraries;
3738
}
38-
39-
public boolean hasLoaded() {
40-
return hasLoaded;
41-
}
42-
43-
public void setHasLoaded(boolean loaded) {
44-
this.hasLoaded = loaded;
45-
}
4639
}
4740

4841
public static synchronized void forceLoad(JNITypes type) throws IOException {
4942
loadLibraries();
5043

51-
if (type.hasLoaded()) {
44+
if (loadedMap.getOrDefault(type, false)) {
5245
return;
5346
}
5447

5548
CombinedRuntimeLoader.loadLibraries(LoadJNI.class, type.libraries);
56-
type.setHasLoaded(true);
49+
loadedMap.put(type, true);
5750
}
5851

5952
public static boolean loadLibraries() {

0 commit comments

Comments
 (0)