Files
MAG160C/analysis/reverse-cache-20260811/thermal_controller.txt
T
2026-08-12 15:25:34 +08:00

1551 lines
132 KiB
Plaintext

Compiled from "ThermalController.java"
public class com.elotouch.thermallib.ThermalController {
private static final java.lang.String TAG;
private android.content.Context _context;
private int _unitMode;
private cn.com.magnity.coresdk.MagDevice _magDev;
private com.elotouch.thermallib.INewIRFrame _newFrameDelegate;
private com.elotouch.thermallib.INewDistance _newDistanceDelegate;
private java.util.concurrent.locks.ReentrantLock _faceRecoglock;
private static final int IR_HEIGHT;
private static final int IR_WIDTH;
private float _targetEmissity;
private android.hardware.usb.UsbManager _usbManager;
private com.elotouch.thermallib.ThermalController$UsbReceiver _usbReceiver;
private android.content.IntentFilter _intentFilter;
java.util.ArrayDeque<android.graphics.RectF> _smoothFace;
private static final double ROTATE_RATIO;
private long _lastRotateTime;
private long _nextRotateTime;
double _feverThreshold;
double _acceptLow;
double _acceptHigh;
double _tempOffset;
private cn.com.magnity.coresdk.MagDevice$ILinkCallback linkCallback;
private cn.com.magnity.coresdk.MagDevice$INewFrameCallback newFrameCallback;
boolean isTCMOpen;
boolean isMagOpen;
com.elotouch.libtcm.TCMDev _tcmDev;
int _lastDistance;
long _lastVaildDistanceTime;
long _lastTriggerTime;
com.elotouch.posapi.tcm.ITCMProximityEventListener _proximityEventListener;
private java.util.Timer _findTimer;
private volatile boolean _isRunning;
private volatile boolean _isSignaled;
private java.util.concurrent.locks.ReentrantLock _irlock;
private java.util.concurrent.locks.Condition _condition;
private com.elotouch.thermallib.ThermalController$ProcessThread _processThread;
private cn.com.magnity.coresdk.types.StatisticInfo _statisticInfo;
private cn.com.magnity.coresdk.types.CameraInfo _cameraInfo;
private cn.com.magnity.coresdk.types.CorrectionPara _correctionPara;
private java.lang.String _cameraSerial;
int _innerTemp;
int[] allTempData;
private int count;
com.elotouch.thermallib.IUpdateCallback updateCallback;
int lastPerc;
com.elotouch.tcm.IEloTCMUpdaterServiceInterface updaterServiceInterface;
public com.elotouch.thermallib.ThermalController(android.content.Context);
Code:
0: aload_0
1: invokespecial #18 // Method java/lang/Object."<init>":()V
4: aload_0
5: aconst_null
6: putfield #19 // Field _context:Landroid/content/Context;
9: aload_0
10: iconst_0
11: putfield #4 // Field _unitMode:I
14: aload_0
15: aconst_null
16: putfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
19: aload_0
20: aconst_null
21: putfield #22 // Field _newFrameDelegate:Lcom/elotouch/thermallib/INewIRFrame;
24: aload_0
25: aconst_null
26: putfield #5 // Field _newDistanceDelegate:Lcom/elotouch/thermallib/INewDistance;
29: aload_0
30: ldc #23 // float 0.98f
32: putfield #24 // Field _targetEmissity:F
35: aload_0
36: aconst_null
37: putfield #25 // Field _usbManager:Landroid/hardware/usb/UsbManager;
40: aload_0
41: aconst_null
42: putfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
45: aload_0
46: aconst_null
47: putfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
50: aload_0
51: new #28 // class java/util/ArrayDeque
54: dup
55: invokespecial #29 // Method java/util/ArrayDeque."<init>":()V
58: putfield #30 // Field _smoothFace:Ljava/util/ArrayDeque;
61: aload_0
62: lconst_0
63: putfield #31 // Field _lastRotateTime:J
66: aload_0
67: lconst_0
68: putfield #32 // Field _nextRotateTime:J
71: aload_0
72: ldc2_w #33 // double 37.0d
75: putfield #35 // Field _feverThreshold:D
78: aload_0
79: ldc2_w #36 // double 32.0d
82: putfield #38 // Field _acceptLow:D
85: aload_0
86: ldc2_w #39 // double 40.0d
89: putfield #41 // Field _acceptHigh:D
92: aload_0
93: dconst_0
94: putfield #42 // Field _tempOffset:D
97: aload_0
98: new #43 // class com/elotouch/thermallib/ThermalController$1
101: dup
102: aload_0
103: invokespecial #44 // Method com/elotouch/thermallib/ThermalController$1."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
106: putfield #45 // Field linkCallback:Lcn/com/magnity/coresdk/MagDevice$ILinkCallback;
109: aload_0
110: new #46 // class com/elotouch/thermallib/ThermalController$2
113: dup
114: aload_0
115: invokespecial #47 // Method com/elotouch/thermallib/ThermalController$2."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
118: putfield #48 // Field newFrameCallback:Lcn/com/magnity/coresdk/MagDevice$INewFrameCallback;
121: aload_0
122: iconst_0
123: putfield #49 // Field isTCMOpen:Z
126: aload_0
127: iconst_0
128: putfield #50 // Field isMagOpen:Z
131: aload_0
132: aconst_null
133: putfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
136: aload_0
137: iconst_m1
138: putfield #52 // Field _lastDistance:I
141: aload_0
142: ldc2_w #53 // long -1l
145: putfield #55 // Field _lastVaildDistanceTime:J
148: aload_0
149: ldc2_w #53 // long -1l
152: putfield #56 // Field _lastTriggerTime:J
155: aload_0
156: new #57 // class com/elotouch/thermallib/ThermalController$3
159: dup
160: aload_0
161: invokespecial #58 // Method com/elotouch/thermallib/ThermalController$3."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
164: putfield #59 // Field _proximityEventListener:Lcom/elotouch/posapi/tcm/ITCMProximityEventListener;
167: aload_0
168: aconst_null
169: putfield #60 // Field _findTimer:Ljava/util/Timer;
172: aload_0
173: iconst_0
174: putfield #9 // Field _isRunning:Z
177: aload_0
178: iconst_0
179: putfield #7 // Field _isSignaled:Z
182: aload_0
183: aconst_null
184: putfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
187: aload_0
188: ldc #62 // String
190: putfield #63 // Field _cameraSerial:Ljava/lang/String;
193: aload_0
194: iconst_0
195: putfield #64 // Field _innerTemp:I
198: aload_0
199: sipush 19200
202: newarray int
204: putfield #66 // Field allTempData:[I
207: aload_0
208: iconst_0
209: putfield #67 // Field count:I
212: aload_0
213: aconst_null
214: putfield #68 // Field updateCallback:Lcom/elotouch/thermallib/IUpdateCallback;
217: aload_0
218: iconst_0
219: putfield #69 // Field lastPerc:I
222: aload_0
223: new #70 // class com/elotouch/thermallib/ThermalController$4
226: dup
227: aload_0
228: invokespecial #71 // Method com/elotouch/thermallib/ThermalController$4."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
231: putfield #72 // Field updaterServiceInterface:Lcom/elotouch/tcm/IEloTCMUpdaterServiceInterface;
234: aload_0
235: aload_1
236: invokevirtual #73 // Method android/content/Context.getApplicationContext:()Landroid/content/Context;
239: putfield #19 // Field _context:Landroid/content/Context;
242: aload_0
243: new #74 // class java/util/concurrent/locks/ReentrantLock
246: dup
247: invokespecial #75 // Method java/util/concurrent/locks/ReentrantLock."<init>":()V
250: putfield #76 // Field _faceRecoglock:Ljava/util/concurrent/locks/ReentrantLock;
253: aload_1
254: invokestatic #77 // Method cn/com/magnity/coresdk/MagDevice.init:(Landroid/content/Context;)Z
257: pop
258: aload_0
259: aload_0
260: invokestatic #78 // Method java/lang/System.currentTimeMillis:()J
263: dup2_x1
264: putfield #32 // Field _nextRotateTime:J
267: putfield #31 // Field _lastRotateTime:J
270: return
private void registerReceiver();
Code:
0: aload_0
1: getfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
4: ifnonnull 49
7: aload_0
8: new #79 // class com/elotouch/thermallib/ThermalController$UsbReceiver
11: dup
12: aload_0
13: aconst_null
14: invokespecial #80 // Method com/elotouch/thermallib/ThermalController$UsbReceiver."<init>":(Lcom/elotouch/thermallib/ThermalController;Lcom/elotouch/thermallib/ThermalController$1;)V
17: putfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
20: aload_0
21: new #81 // class android/content/IntentFilter
24: dup
25: invokespecial #82 // Method android/content/IntentFilter."<init>":()V
28: putfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
31: aload_0
32: getfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
35: ldc #83 // String android.hardware.usb.action.USB_DEVICE_ATTACHED
37: invokevirtual #84 // Method android/content/IntentFilter.addAction:(Ljava/lang/String;)V
40: aload_0
41: getfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
44: ldc #85 // String android.hardware.usb.action.USB_DEVICE_DETACHED
46: invokevirtual #84 // Method android/content/IntentFilter.addAction:(Ljava/lang/String;)V
49: aload_0
50: getfield #19 // Field _context:Landroid/content/Context;
53: aload_0
54: getfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
57: aload_0
58: getfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
61: invokevirtual #86 // Method android/content/Context.registerReceiver:(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
64: pop
65: return
private void unregisterReceiver();
Code:
0: aload_0
1: getfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
4: ifnonnull 28
7: aload_0
8: getfield #19 // Field _context:Landroid/content/Context;
11: aload_0
12: getfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
15: invokevirtual #87 // Method android/content/Context.unregisterReceiver:(Landroid/content/BroadcastReceiver;)V
18: aload_0
19: aconst_null
20: putfield #27 // Field _intentFilter:Landroid/content/IntentFilter;
23: aload_0
24: aconst_null
25: putfield #26 // Field _usbReceiver:Lcom/elotouch/thermallib/ThermalController$UsbReceiver;
28: return
private boolean isMagDev(android.hardware.usb.UsbDevice);
Code:
0: aload_1
1: ifnonnull 6
4: iconst_0
5: ireturn
6: aload_1
7: invokevirtual #88 // Method android/hardware/usb/UsbDevice.getVendorId:()I
10: istore_2
11: iload_2
12: ldc #89 // int 33596
14: if_icmpne 21
17: iconst_1
18: goto 22
21: iconst_0
22: ireturn
private boolean isTCMDev(android.hardware.usb.UsbDevice);
Code:
0: aload_1
1: ifnonnull 6
4: iconst_0
5: ireturn
6: aload_1
7: invokevirtual #88 // Method android/hardware/usb/UsbDevice.getVendorId:()I
10: istore_2
11: iload_2
12: sipush 1027
15: if_icmpne 22
18: iconst_1
19: goto 23
22: iconst_0
23: ireturn
private void processRotateByFace(java.util.ArrayList<android.graphics.RectF>);
Code:
0: invokestatic #78 // Method java/lang/System.currentTimeMillis:()J
3: lstore_2
4: aload_1
5: ifnull 184
8: aload_1
9: invokevirtual #90 // Method java/util/ArrayList.size:()I
12: ifle 184
15: fconst_0
16: fstore 4
18: aload_1
19: invokevirtual #91 // Method java/util/ArrayList.iterator:()Ljava/util/Iterator;
22: astore 5
24: aload 5
26: invokeinterface #92, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
31: ifeq 59
34: aload 5
36: invokeinterface #93, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
41: checkcast #94 // class android/graphics/RectF
44: astore 6
46: fload 4
48: aload 6
50: invokevirtual #95 // Method android/graphics/RectF.centerY:()F
53: fadd
54: fstore 4
56: goto 24
59: fload 4
61: aload_1
62: invokevirtual #90 // Method java/util/ArrayList.size:()I
65: i2f
66: fdiv
67: fstore 5
69: lload_2
70: aload_0
71: getfield #32 // Field _nextRotateTime:J
74: lcmp
75: iflt 184
78: iconst_0
79: istore 6
81: fload 5
83: f2d
84: ldc2_w #96 // double 0.6d
87: dcmpl
88: ifle 118
91: fload 5
93: f2d
94: ldc2_w #98 // double 0.5d
97: dsub
98: ldc2_w #100 // double -0.1d
101: dmul
102: ldc2_w #102 // double 120.0d
105: dmul
106: d2i
107: istore 6
109: aload_0
110: iload 6
112: invokevirtual #104 // Method rotate:(I)V
115: goto 152
118: fload 5
120: f2d
121: ldc2_w #105 // double 0.4d
124: dcmpg
125: ifge 152
128: fload 5
130: f2d
131: ldc2_w #98 // double 0.5d
134: dsub
135: ldc2_w #100 // double -0.1d
138: dmul
139: ldc2_w #102 // double 120.0d
142: dmul
143: d2i
144: istore 6
146: aload_0
147: iload 6
149: invokevirtual #104 // Method rotate:(I)V
152: iload 6
154: ifeq 184
157: aload_0
158: lload_2
159: putfield #31 // Field _lastRotateTime:J
162: aload_0
163: aload_0
164: getfield #31 // Field _lastRotateTime:J
167: iload 6
169: invokestatic #107 // Method java/lang/Math.abs:(I)I
172: bipush 10
174: imul
175: i2l
176: ladd
177: ldc2_w #108 // long 80l
180: ladd
181: putfield #32 // Field _nextRotateTime:J
184: return
public void setNewIRFrameDelegate(com.elotouch.thermallib.INewIRFrame);
Code:
0: aload_0
1: aload_1
2: putfield #22 // Field _newFrameDelegate:Lcom/elotouch/thermallib/INewIRFrame;
5: return
public void setNewDistanceDelegate(com.elotouch.thermallib.INewDistance);
Code:
0: aload_0
1: aload_1
2: putfield #5 // Field _newDistanceDelegate:Lcom/elotouch/thermallib/INewDistance;
5: return
public void setUnitMode(int);
Code:
0: aload_0
1: iload_1
2: putfield #4 // Field _unitMode:I
5: return
public void setTempOffset(double);
Code:
0: aload_0
1: dload_1
2: putfield #42 // Field _tempOffset:D
5: return
public void setTempBoundary(double, double, double);
Code:
0: aload_0
1: dload_1
2: putfield #38 // Field _acceptLow:D
5: aload_0
6: dload_3
7: putfield #41 // Field _acceptHigh:D
10: aload_0
11: dload 5
13: putfield #35 // Field _feverThreshold:D
16: return
public com.elotouch.thermallib.TemperatureResult readTemperatureAtPoint(int, int);
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: invokevirtual #110 // Method cn/com/magnity/coresdk/MagDevice.lock:()V
7: aload_0
8: iload_1
9: iload_2
10: invokespecial #111 // Method getTemperatureAtPoint:(II)Lcom/elotouch/thermallib/TemperatureResult;
13: astore_3
14: aload_0
15: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
18: invokevirtual #112 // Method cn/com/magnity/coresdk/MagDevice.unlock:()V
21: aload_3
22: areturn
public com.elotouch.thermallib.TemperatureResult readTemperatureInRect(android.graphics.Rect);
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: invokevirtual #110 // Method cn/com/magnity/coresdk/MagDevice.lock:()V
7: aload_0
8: aload_1
9: invokevirtual #113 // Method getTemperatureInRect:(Landroid/graphics/Rect;)Lcom/elotouch/thermallib/TemperatureResult;
12: astore_2
13: aload_0
14: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
17: invokevirtual #112 // Method cn/com/magnity/coresdk/MagDevice.unlock:()V
20: aload_2
21: areturn
public void onStart();
Code:
0: aload_0
1: invokespecial #114 // Method registerReceiver:()V
4: aload_0
5: invokespecial #16 // Method startMag:()V
8: aload_0
9: invokespecial #14 // Method startTCM:()V
12: return
public void onStop();
Code:
0: aload_0
1: invokespecial #13 // Method stopMag:()V
4: aload_0
5: invokespecial #12 // Method stopTCM:()V
8: aload_0
9: invokespecial #115 // Method unregisterReceiver:()V
12: return
public boolean isWorking();
Code:
0: aload_0
1: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
4: ifnonnull 15
7: aload_0
8: iconst_0
9: putfield #49 // Field isTCMOpen:Z
12: goto 26
15: aload_0
16: aload_0
17: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
20: invokevirtual #116 // Method com/elotouch/libtcm/TCMDev.isOpen:()Z
23: putfield #49 // Field isTCMOpen:Z
26: getstatic #10 // Field TAG:Ljava/lang/String;
29: new #117 // class java/lang/StringBuilder
32: dup
33: invokespecial #118 // Method java/lang/StringBuilder."<init>":()V
36: ldc #119 // String TCM:
38: invokevirtual #120 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: aload_0
42: getfield #49 // Field isTCMOpen:Z
45: invokevirtual #121 // Method java/lang/StringBuilder.append:(Z)Ljava/lang/StringBuilder;
48: ldc #122 // String IR:
50: invokevirtual #120 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: aload_0
54: getfield #50 // Field isMagOpen:Z
57: invokevirtual #121 // Method java/lang/StringBuilder.append:(Z)Ljava/lang/StringBuilder;
60: invokevirtual #123 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
63: invokestatic #124 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I
66: pop
67: aload_0
68: getfield #49 // Field isTCMOpen:Z
71: ifeq 85
74: aload_0
75: getfield #50 // Field isMagOpen:Z
78: ifeq 85
81: iconst_1
82: goto 86
85: iconst_0
86: ireturn
private void startTCM();
Code:
0: aload_0
1: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
4: ifnonnull 54
7: aload_0
8: new #125 // class com/elotouch/libtcm/TCMDev
11: dup
12: aload_0
13: getfield #19 // Field _context:Landroid/content/Context;
16: invokespecial #126 // Method com/elotouch/libtcm/TCMDev."<init>":(Landroid/content/Context;)V
19: putfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
22: aload_0
23: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
26: invokevirtual #127 // Method com/elotouch/libtcm/TCMDev.open:()V
29: aload_0
30: invokespecial #128 // Method getTCMService:()Lcom/elotouch/service/TCMService;
33: invokevirtual #129 // Method com/elotouch/service/TCMService.getProximityDevice:()Lcom/elotouch/usb/EloProximityDevice;
36: aload_0
37: getfield #59 // Field _proximityEventListener:Lcom/elotouch/posapi/tcm/ITCMProximityEventListener;
40: invokevirtual #130 // Method com/elotouch/usb/EloProximityDevice.setProximityEventListener:(Lcom/elotouch/posapi/tcm/ITCMProximityEventListener;)V
43: aload_0
44: aload_0
45: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
48: invokevirtual #116 // Method com/elotouch/libtcm/TCMDev.isOpen:()Z
51: putfield #49 // Field isTCMOpen:Z
54: return
private void stopTCM();
Code:
0: aload_0
1: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
4: ifnull 19
7: aload_0
8: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
11: invokevirtual #131 // Method com/elotouch/libtcm/TCMDev.close:()V
14: aload_0
15: aconst_null
16: putfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
19: aload_0
20: iconst_0
21: putfield #49 // Field isTCMOpen:Z
24: return
private com.elotouch.usb.EloTCMUpdaterDevice getUpdater();
Code:
0: aload_0
1: invokespecial #128 // Method getTCMService:()Lcom/elotouch/service/TCMService;
4: invokevirtual #132 // Method com/elotouch/service/TCMService.getTCMUpdater:()Lcom/elotouch/usb/EloTCMUpdaterDevice;
7: areturn
public void rotate(int);
Code:
0: getstatic #10 // Field TAG:Ljava/lang/String;
3: new #117 // class java/lang/StringBuilder
6: dup
7: invokespecial #118 // Method java/lang/StringBuilder."<init>":()V
10: ldc #133 // String rotate:
12: invokevirtual #120 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: iload_1
16: invokevirtual #134 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
19: invokevirtual #123 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
22: invokestatic #124 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I
25: pop
26: aload_0
27: invokespecial #128 // Method getTCMService:()Lcom/elotouch/service/TCMService;
30: invokevirtual #135 // Method com/elotouch/service/TCMService.getMotorDevice:()Lcom/elotouch/usb/EloMotorDevice;
33: iload_1
34: invokevirtual #136 // Method com/elotouch/usb/EloMotorDevice.rotate:(I)V
37: goto 45
40: astore_2
41: aload_2
42: invokevirtual #138 // Method java/lang/Exception.printStackTrace:()V
45: return
Exception table:
from to target type
26 37 40 Class java/lang/Exception
private void startTryFinding();
Code:
0: aload_0
1: getfield #60 // Field _findTimer:Ljava/util/Timer;
4: ifnull 8
7: return
8: aload_0
9: new #139 // class java/util/Timer
12: dup
13: invokespecial #140 // Method java/util/Timer."<init>":()V
16: putfield #60 // Field _findTimer:Ljava/util/Timer;
19: new #1 // class com/elotouch/thermallib/ThermalController$TryFindingTask
22: dup
23: aload_0
24: invokespecial #141 // Method com/elotouch/thermallib/ThermalController$TryFindingTask."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
27: astore_1
28: aload_0
29: getfield #60 // Field _findTimer:Ljava/util/Timer;
32: aload_1
33: lconst_0
34: ldc2_w #142 // long 500l
37: invokevirtual #144 // Method java/util/Timer.schedule:(Ljava/util/TimerTask;JJ)V
40: return
private void stopTryFinding();
Code:
0: aload_0
1: getfield #60 // Field _findTimer:Ljava/util/Timer;
4: ifnull 19
7: aload_0
8: getfield #60 // Field _findTimer:Ljava/util/Timer;
11: invokevirtual #145 // Method java/util/Timer.cancel:()V
14: aload_0
15: aconst_null
16: putfield #60 // Field _findTimer:Ljava/util/Timer;
19: return
private com.elotouch.service.TCMService getTCMService();
Code:
0: aload_0
1: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
4: ifnull 15
7: aload_0
8: getfield #51 // Field _tcmDev:Lcom/elotouch/libtcm/TCMDev;
11: invokevirtual #146 // Method com/elotouch/libtcm/TCMDev.getService:()Lcom/elotouch/service/TCMService;
14: areturn
15: aconst_null
16: areturn
private void startMag();
Code:
0: aload_0
1: new #147 // class cn/com/magnity/coresdk/MagDevice
4: dup
5: invokespecial #148 // Method cn/com/magnity/coresdk/MagDevice."<init>":()V
8: putfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
11: new #149 // class java/util/ArrayList
14: dup
15: invokespecial #150 // Method java/util/ArrayList."<init>":()V
18: astore_1
19: aload_0
20: getfield #19 // Field _context:Landroid/content/Context;
23: ldc #89 // int 33596
25: iconst_1
26: aload_1
27: invokestatic #151 // Method cn/com/magnity/coresdk/MagDevice.getDevices:(Landroid/content/Context;IILjava/util/ArrayList;)V
30: aload_1
31: invokevirtual #152 // Method java/util/ArrayList.isEmpty:()Z
34: ifeq 38
37: return
38: aload_0
39: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
42: aload_0
43: getfield #19 // Field _context:Landroid/content/Context;
46: aload_1
47: iconst_0
48: invokevirtual #153 // Method java/util/ArrayList.get:(I)Ljava/lang/Object;
51: checkcast #154 // class cn/com/magnity/coresdk/types/EnumInfo
54: getfield #155 // Field cn/com/magnity/coresdk/types/EnumInfo.id:I
57: aload_0
58: getfield #45 // Field linkCallback:Lcn/com/magnity/coresdk/MagDevice$ILinkCallback;
61: invokevirtual #156 // Method cn/com/magnity/coresdk/MagDevice.linkCamera:(Landroid/content/Context;ILcn/com/magnity/coresdk/MagDevice$ILinkCallback;)I
64: istore_2
65: iload_2
66: iconst_m1
67: if_icmpne 80
70: getstatic #10 // Field TAG:Ljava/lang/String;
73: ldc #157 // String CONN_FAIL
75: invokestatic #124 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I
78: pop
79: return
80: iload_2
81: ifne 94
84: getstatic #10 // Field TAG:Ljava/lang/String;
87: ldc #158 // String CONN_PENDING
89: invokestatic #124 // Method android/util/Log.d:(Ljava/lang/String;Ljava/lang/String;)I
92: pop
93: return
94: iload_2
95: iconst_1
96: if_icmpne 103
99: aload_0
100: invokespecial #11 // Method _playMag:()V
103: return
private void stopMag();
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: ifnonnull 8
7: return
8: aload_0
9: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
12: invokevirtual #159 // Method cn/com/magnity/coresdk/MagDevice.isProcessingImage:()Z
15: ifeq 29
18: aload_0
19: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
22: invokevirtual #160 // Method cn/com/magnity/coresdk/MagDevice.stopProcessImage:()V
25: aload_0
26: invokespecial #161 // Method stopThread:()V
29: aload_0
30: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
33: invokevirtual #162 // Method cn/com/magnity/coresdk/MagDevice.isLinked:()Z
36: ifeq 46
39: aload_0
40: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
43: invokevirtual #163 // Method cn/com/magnity/coresdk/MagDevice.dislinkCamera:()V
46: aload_0
47: aconst_null
48: putfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
51: aload_0
52: iconst_0
53: putfield #50 // Field isMagOpen:Z
56: return
private void _playMag();
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: iconst_2
5: invokevirtual #165 // Method cn/com/magnity/coresdk/MagDevice.setColorPalette:(I)V
8: aload_0
9: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
12: aload_0
13: getfield #48 // Field newFrameCallback:Lcn/com/magnity/coresdk/MagDevice$INewFrameCallback;
16: iconst_0
17: iconst_0
18: invokevirtual #166 // Method cn/com/magnity/coresdk/MagDevice.startProcessImage:(Lcn/com/magnity/coresdk/MagDevice$INewFrameCallback;II)Z
21: ifeq 36
24: aload_0
25: invokespecial #167 // Method startThread:()V
28: aload_0
29: iconst_1
30: putfield #50 // Field isMagOpen:Z
33: goto 43
36: aload_0
37: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
40: invokevirtual #163 // Method cn/com/magnity/coresdk/MagDevice.dislinkCamera:()V
43: return
private void startThread();
Code:
0: aload_0
1: getfield #9 // Field _isRunning:Z
4: ifeq 8
7: return
8: aload_0
9: new #168 // class com/elotouch/thermallib/ThermalController$ProcessThread
12: dup
13: aload_0
14: invokespecial #169 // Method com/elotouch/thermallib/ThermalController$ProcessThread."<init>":(Lcom/elotouch/thermallib/ThermalController;)V
17: putfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
20: aload_0
21: new #74 // class java/util/concurrent/locks/ReentrantLock
24: dup
25: invokespecial #75 // Method java/util/concurrent/locks/ReentrantLock."<init>":()V
28: putfield #8 // Field _irlock:Ljava/util/concurrent/locks/ReentrantLock;
31: aload_0
32: aload_0
33: getfield #8 // Field _irlock:Ljava/util/concurrent/locks/ReentrantLock;
36: invokevirtual #170 // Method java/util/concurrent/locks/ReentrantLock.newCondition:()Ljava/util/concurrent/locks/Condition;
39: putfield #6 // Field _condition:Ljava/util/concurrent/locks/Condition;
42: aload_0
43: new #171 // class cn/com/magnity/coresdk/types/StatisticInfo
46: dup
47: invokespecial #172 // Method cn/com/magnity/coresdk/types/StatisticInfo."<init>":()V
50: putfield #173 // Field _statisticInfo:Lcn/com/magnity/coresdk/types/StatisticInfo;
53: aload_0
54: new #174 // class cn/com/magnity/coresdk/types/CameraInfo
57: dup
58: invokespecial #175 // Method cn/com/magnity/coresdk/types/CameraInfo."<init>":()V
61: putfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
64: aload_0
65: aload_0
66: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
69: getfield #177 // Field cn/com/magnity/coresdk/types/CameraInfo.name:Ljava/lang/String;
72: putfield #63 // Field _cameraSerial:Ljava/lang/String;
75: aload_0
76: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
79: aload_0
80: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
83: invokevirtual #178 // Method cn/com/magnity/coresdk/MagDevice.getCameraInfo:(Lcn/com/magnity/coresdk/types/CameraInfo;)Z
86: pop
87: aload_0
88: new #179 // class cn/com/magnity/coresdk/types/CorrectionPara
91: dup
92: invokespecial #180 // Method cn/com/magnity/coresdk/types/CorrectionPara."<init>":()V
95: putfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
98: aload_0
99: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
102: aload_0
103: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
106: invokevirtual #182 // Method cn/com/magnity/coresdk/MagDevice.getFixPara:(Lcn/com/magnity/coresdk/types/CorrectionPara;)Z
109: pop
110: aload_0
111: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
114: ldc #183 // float 0.65f
116: putfield #184 // Field cn/com/magnity/coresdk/types/CorrectionPara.fDistance:F
119: aload_0
120: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
123: aload_0
124: getfield #24 // Field _targetEmissity:F
127: putfield #185 // Field cn/com/magnity/coresdk/types/CorrectionPara.fEmissivity:F
130: aload_0
131: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
134: fconst_0
135: putfield #186 // Field cn/com/magnity/coresdk/types/CorrectionPara.fExtrapara2:F
138: aload_0
139: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
142: aload_0
143: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
146: invokevirtual #187 // Method cn/com/magnity/coresdk/MagDevice.setFixPara:(Lcn/com/magnity/coresdk/types/CorrectionPara;)F
149: pop
150: aload_0
151: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
154: iconst_1
155: iconst_2
156: invokevirtual #188 // Method cn/com/magnity/coresdk/MagDevice.setImageTransform:(II)Z
159: pop
160: aload_0
161: iconst_1
162: putfield #9 // Field _isRunning:Z
165: aload_0
166: iconst_0
167: putfield #7 // Field _isSignaled:Z
170: aload_0
171: getfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
174: invokevirtual #189 // Method com/elotouch/thermallib/ThermalController$ProcessThread.start:()V
177: return
private void stopThread();
Code:
0: aload_0
1: getfield #9 // Field _isRunning:Z
4: ifne 8
7: return
8: aload_0
9: iconst_0
10: putfield #9 // Field _isRunning:Z
13: aload_0
14: getfield #8 // Field _irlock:Ljava/util/concurrent/locks/ReentrantLock;
17: invokevirtual #190 // Method java/util/concurrent/locks/ReentrantLock.lock:()V
20: aload_0
21: iconst_1
22: putfield #7 // Field _isSignaled:Z
25: aload_0
26: getfield #6 // Field _condition:Ljava/util/concurrent/locks/Condition;
29: invokeinterface #191, 1 // InterfaceMethod java/util/concurrent/locks/Condition.signal:()V
34: aload_0
35: getfield #8 // Field _irlock:Ljava/util/concurrent/locks/ReentrantLock;
38: invokevirtual #192 // Method java/util/concurrent/locks/ReentrantLock.unlock:()V
41: aload_0
42: getfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
45: invokevirtual #193 // Method com/elotouch/thermallib/ThermalController$ProcessThread.join:()V
48: aload_0
49: aconst_null
50: putfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
53: goto 77
56: astore_1
57: aload_1
58: invokevirtual #195 // Method java/lang/InterruptedException.printStackTrace:()V
61: aload_0
62: aconst_null
63: putfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
66: goto 77
69: astore_2
70: aload_0
71: aconst_null
72: putfield #61 // Field _processThread:Lcom/elotouch/thermallib/ThermalController$ProcessThread;
75: aload_2
76: athrow
77: return
Exception table:
from to target type
41 48 56 Class java/lang/InterruptedException
41 48 69 any
56 61 69 any
public double getInnerIRCameraTemp();
Code:
0: aload_0
1: getfield #64 // Field _innerTemp:I
4: i2d
5: ldc2_w #196 // double 0.001d
8: dmul
9: dstore_1
10: aload_0
11: getfield #4 // Field _unitMode:I
14: iconst_1
15: if_icmpne 28
18: dload_1
19: ldc2_w #198 // double 1.8d
22: dmul
23: ldc2_w #36 // double 32.0d
26: dadd
27: dstore_1
28: dload_1
29: dreturn
private int[] getAllTempData();
Code:
0: aload_0
1: getfield #66 // Field allTempData:[I
4: areturn
private void process();
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: invokevirtual #110 // Method cn/com/magnity/coresdk/MagDevice.lock:()V
7: aload_0
8: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
11: aload_0
12: getfield #66 // Field allTempData:[I
15: iconst_1
16: iconst_1
17: invokevirtual #200 // Method cn/com/magnity/coresdk/MagDevice.getTemperatureData:([IZZ)Z
20: pop
21: aload_0
22: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
25: invokevirtual #201 // Method cn/com/magnity/coresdk/MagDevice.getOutputImage:()Landroid/graphics/Bitmap;
28: astore_1
29: aload_0
30: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
33: aload_0
34: getfield #173 // Field _statisticInfo:Lcn/com/magnity/coresdk/types/StatisticInfo;
37: invokevirtual #202 // Method cn/com/magnity/coresdk/MagDevice.getFrameStatisticInfo:(Lcn/com/magnity/coresdk/types/StatisticInfo;)Z
40: pop
41: aload_0
42: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
45: aload_0
46: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
49: invokevirtual #178 // Method cn/com/magnity/coresdk/MagDevice.getCameraInfo:(Lcn/com/magnity/coresdk/types/CameraInfo;)Z
52: pop
53: aload_0
54: aload_0
55: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
58: getfield #177 // Field cn/com/magnity/coresdk/types/CameraInfo.name:Ljava/lang/String;
61: putfield #63 // Field _cameraSerial:Ljava/lang/String;
64: aload_0
65: aload_0
66: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
69: invokevirtual #203 // Method cn/com/magnity/coresdk/MagDevice.getCurrentCameraInnerTemperature:()I
72: putfield #64 // Field _innerTemp:I
75: aload_0
76: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
79: invokevirtual #112 // Method cn/com/magnity/coresdk/MagDevice.unlock:()V
82: aload_0
83: getfield #22 // Field _newFrameDelegate:Lcom/elotouch/thermallib/INewIRFrame;
86: ifnull 99
89: aload_0
90: getfield #22 // Field _newFrameDelegate:Lcom/elotouch/thermallib/INewIRFrame;
93: aload_1
94: invokeinterface #204, 2 // InterfaceMethod com/elotouch/thermallib/INewIRFrame.onIRFrame:(Landroid/graphics/Bitmap;)V
99: return
private java.util.ArrayList<com.elotouch.thermallib.TemperatureResult> getFaceResults(java.util.List<android.graphics.RectF>);
Code:
0: new #149 // class java/util/ArrayList
3: dup
4: invokespecial #150 // Method java/util/ArrayList."<init>":()V
7: astore_2
8: iconst_0
9: istore_3
10: iload_3
11: aload_1
12: invokeinterface #205, 1 // InterfaceMethod java/util/List.size:()I
17: if_icmpge 106
20: aload_1
21: iload_3
22: invokeinterface #206, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
27: checkcast #94 // class android/graphics/RectF
30: astore 4
32: new #207 // class android/graphics/Rect
35: dup
36: aload 4
38: getfield #208 // Field android/graphics/RectF.left:F
41: ldc #209 // float 160.0f
43: fmul
44: invokestatic #210 // Method java/lang/Math.round:(F)I
47: aload 4
49: getfield #211 // Field android/graphics/RectF.top:F
52: ldc #212 // float 120.0f
54: fmul
55: invokestatic #210 // Method java/lang/Math.round:(F)I
58: aload 4
60: getfield #213 // Field android/graphics/RectF.right:F
63: ldc #209 // float 160.0f
65: fmul
66: invokestatic #210 // Method java/lang/Math.round:(F)I
69: aload 4
71: getfield #214 // Field android/graphics/RectF.bottom:F
74: ldc #212 // float 120.0f
76: fmul
77: invokestatic #210 // Method java/lang/Math.round:(F)I
80: invokespecial #215 // Method android/graphics/Rect."<init>":(IIII)V
83: astore 5
85: aload_0
86: aload 5
88: invokevirtual #113 // Method getTemperatureInRect:(Landroid/graphics/Rect;)Lcom/elotouch/thermallib/TemperatureResult;
91: astore 6
93: aload_2
94: aload 6
96: invokevirtual #216 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
99: pop
100: iinc 3, 1
103: goto 10
106: aload_2
107: areturn
public void setEmissivity(double);
Code:
0: aload_0
1: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
4: ifnull 14
7: aload_0
8: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
11: ifnonnull 21
14: aload_0
15: dload_1
16: d2f
17: putfield #24 // Field _targetEmissity:F
20: return
21: aload_0
22: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
25: dload_1
26: d2f
27: putfield #185 // Field cn/com/magnity/coresdk/types/CorrectionPara.fEmissivity:F
30: aload_0
31: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
34: aload_0
35: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
38: invokevirtual #187 // Method cn/com/magnity/coresdk/MagDevice.setFixPara:(Lcn/com/magnity/coresdk/types/CorrectionPara;)F
41: pop
42: return
public void trigger();
Code:
0: aload_0
1: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
4: ifnull 15
7: aload_0
8: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
11: invokevirtual #217 // Method cn/com/magnity/coresdk/MagDevice.triggrtFFC:()Z
14: pop
15: aload_0
16: invokestatic #78 // Method java/lang/System.currentTimeMillis:()J
19: putfield #56 // Field _lastTriggerTime:J
22: return
public java.lang.String getIRSerial();
Code:
0: aload_0
1: getfield #63 // Field _cameraSerial:Ljava/lang/String;
4: areturn
public com.elotouch.thermallib.TemperatureResult getTemperatureInRect(android.graphics.Rect);
Code:
0: iconst_5
1: newarray int
3: astore_2
4: aload_1
5: getfield #218 // Field android/graphics/Rect.top:I
8: ifge 16
11: aload_1
12: iconst_0
13: putfield #218 // Field android/graphics/Rect.top:I
16: aload_1
17: getfield #219 // Field android/graphics/Rect.bottom:I
20: bipush 120
22: if_icmplt 31
25: aload_1
26: bipush 119
28: putfield #219 // Field android/graphics/Rect.bottom:I
31: aload_0
32: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
35: aload_1
36: getfield #220 // Field android/graphics/Rect.left:I
39: aload_0
40: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
43: getfield #221 // Field cn/com/magnity/coresdk/types/CameraInfo.bmpHeight:I
46: iconst_1
47: isub
48: aload_1
49: getfield #219 // Field android/graphics/Rect.bottom:I
52: isub
53: aload_1
54: getfield #222 // Field android/graphics/Rect.right:I
57: aload_0
58: getfield #176 // Field _cameraInfo:Lcn/com/magnity/coresdk/types/CameraInfo;
61: getfield #221 // Field cn/com/magnity/coresdk/types/CameraInfo.bmpHeight:I
64: iconst_1
65: isub
66: aload_1
67: getfield #218 // Field android/graphics/Rect.top:I
70: isub
71: aload_2
72: invokevirtual #223 // Method cn/com/magnity/coresdk/MagDevice.getRectTemperatureInfo:(IIII[I)Z
75: istore_3
76: iload_3
77: ifeq 141
80: aload_2
81: iconst_1
82: iaload
83: istore 4
85: aload_2
86: iconst_4
87: iaload
88: istore 5
90: aload_0
91: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
94: iload 4
96: aload_0
97: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
100: getfield #185 // Field cn/com/magnity/coresdk/types/CorrectionPara.fEmissivity:F
103: iload 5
105: invokevirtual #224 // Method cn/com/magnity/coresdk/MagDevice.fixTemperature:(IFI)I
108: istore 6
110: iload 5
112: sipush 160
115: idiv
116: istore 7
118: iload 5
120: iload 7
122: sipush 160
125: imul
126: isub
127: istore 8
129: aload_0
130: iload 8
132: bipush 119
134: iload 7
136: isub
137: invokespecial #111 // Method getTemperatureAtPoint:(II)Lcom/elotouch/thermallib/TemperatureResult;
140: areturn
141: goto 145
144: astore_3
145: aload_0
146: invokespecial #225 // Method createIllegalResult:()Lcom/elotouch/thermallib/TemperatureResult;
149: areturn
Exception table:
from to target type
31 140 144 Class java/lang/Exception
private com.elotouch.thermallib.TemperatureResult createIllegalResult();
Code:
0: new #226 // class com/elotouch/thermallib/TemperatureResult
3: dup
4: ldc2_w #227 // double -1.0E8d
7: ldc2_w #227 // double -1.0E8d
10: new #229 // class android/graphics/PointF
13: dup
14: ldc #230 // float -1.0f
16: ldc #230 // float -1.0f
18: invokespecial #231 // Method android/graphics/PointF."<init>":(FF)V
21: aload_0
22: getfield #4 // Field _unitMode:I
25: bipush -2
27: invokespecial #232 // Method com/elotouch/thermallib/TemperatureResult."<init>":(DDLandroid/graphics/PointF;II)V
30: astore_1
31: aload_1
32: areturn
private com.elotouch.thermallib.TemperatureResult createLegalResult(int, int, int, int);
Code:
0: iload_3
1: i2d
2: ldc2_w #196 // double 0.001d
5: dmul
6: dstore 5
8: iload 4
10: i2d
11: ldc2_w #196 // double 0.001d
14: dmul
15: dstore 7
17: dload 7
19: dload 5
21: ldc2_w #233 // double 3.0d
24: dadd
25: dcmpl
26: ifle 29
29: aload_0
30: getfield #4 // Field _unitMode:I
33: iconst_1
34: if_icmpne 61
37: dload 5
39: ldc2_w #198 // double 1.8d
42: dmul
43: ldc2_w #36 // double 32.0d
46: dadd
47: dstore 5
49: dload 7
51: ldc2_w #198 // double 1.8d
54: dmul
55: ldc2_w #36 // double 32.0d
58: dadd
59: dstore 7
61: dload 5
63: aload_0
64: getfield #42 // Field _tempOffset:D
67: dadd
68: dstore 5
70: dload 7
72: aload_0
73: getfield #42 // Field _tempOffset:D
76: dadd
77: dstore 7
79: iconst_0
80: istore 9
82: dload 7
84: aload_0
85: getfield #41 // Field _acceptHigh:D
88: dcmpl
89: ifgt 102
92: dload 7
94: aload_0
95: getfield #38 // Field _acceptLow:D
98: dcmpg
99: ifge 108
102: iconst_m1
103: istore 9
105: goto 127
108: dload 7
110: aload_0
111: getfield #35 // Field _feverThreshold:D
114: dcmpl
115: iflt 124
118: iconst_1
119: istore 9
121: goto 127
124: iconst_0
125: istore 9
127: new #226 // class com/elotouch/thermallib/TemperatureResult
130: dup
131: dload 5
133: dload 7
135: new #229 // class android/graphics/PointF
138: dup
139: iload_1
140: i2f
141: fconst_1
142: fmul
143: ldc #209 // float 160.0f
145: fdiv
146: iload_2
147: i2f
148: fconst_1
149: fmul
150: ldc #212 // float 120.0f
152: fdiv
153: invokespecial #231 // Method android/graphics/PointF."<init>":(FF)V
156: aload_0
157: getfield #4 // Field _unitMode:I
160: iload 9
162: invokespecial #232 // Method com/elotouch/thermallib/TemperatureResult."<init>":(DDLandroid/graphics/PointF;II)V
165: astore 10
167: aload 10
169: areturn
private com.elotouch.thermallib.TemperatureResult getTemperatureAtPoint(int, int);
Code:
0: new #235 // class android/graphics/Point
3: dup
4: iload_1
5: iload_2
6: invokespecial #236 // Method android/graphics/Point."<init>":(II)V
9: astore_3
10: bipush 119
12: iload_2
13: isub
14: istore_2
15: iload_1
16: iflt 36
19: iload_1
20: sipush 160
23: if_icmpge 36
26: iload_2
27: iflt 36
30: iload_2
31: bipush 120
33: if_icmplt 41
36: aload_0
37: invokespecial #225 // Method createIllegalResult:()Lcom/elotouch/thermallib/TemperatureResult;
40: areturn
41: aload_0
42: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
45: iload_1
46: iload_2
47: iconst_3
48: invokevirtual #237 // Method cn/com/magnity/coresdk/MagDevice.getTemperatureProbe:(III)I
51: istore 4
53: aload_0
54: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
57: iload 4
59: aload_0
60: getfield #181 // Field _correctionPara:Lcn/com/magnity/coresdk/types/CorrectionPara;
63: getfield #185 // Field cn/com/magnity/coresdk/types/CorrectionPara.fEmissivity:F
66: iload_1
67: iload_2
68: invokevirtual #238 // Method cn/com/magnity/coresdk/MagDevice.fixTemperature:(IFII)I
71: istore 5
73: iload_1
74: iconst_1
75: isub
76: iconst_0
77: invokestatic #239 // Method java/lang/Math.max:(II)I
80: istore 6
82: iload_1
83: iconst_1
84: iadd
85: sipush 159
88: invokestatic #240 // Method java/lang/Math.min:(II)I
91: istore 7
93: iload_2
94: iconst_1
95: isub
96: iconst_0
97: invokestatic #239 // Method java/lang/Math.max:(II)I
100: istore 8
102: iload_2
103: iconst_1
104: iadd
105: bipush 119
107: invokestatic #240 // Method java/lang/Math.min:(II)I
110: istore 9
112: aload_0
113: getfield #21 // Field _magDev:Lcn/com/magnity/coresdk/MagDevice;
116: iload 6
118: iload 8
120: iload 7
122: iload 9
124: invokevirtual #241 // Method cn/com/magnity/coresdk/MagDevice.estimateUnderArmTempFromForeheadRect:(IIII)I
127: istore 10
129: aload_0
130: iload_1
131: aload_3
132: getfield #242 // Field android/graphics/Point.y:I
135: iload 5
137: iload 10
139: invokespecial #243 // Method createLegalResult:(IIII)Lcom/elotouch/thermallib/TemperatureResult;
142: areturn
public int getSDKVersion();
Code:
0: sipush 10001
3: ireturn
public java.lang.String getTCMVersion();
Code:
0: aload_0
1: invokespecial #244 // Method getUpdater:()Lcom/elotouch/usb/EloTCMUpdaterDevice;
4: invokevirtual #245 // Method com/elotouch/usb/EloTCMUpdaterDevice.getTCMVersion:()Ljava/lang/String;
7: areturn
public void setFirmwareData(byte[]);
Code:
0: aload_0
1: invokespecial #244 // Method getUpdater:()Lcom/elotouch/usb/EloTCMUpdaterDevice;
4: aload_1
5: invokevirtual #246 // Method com/elotouch/usb/EloTCMUpdaterDevice.setFirmwareData:([B)Z
8: pop
9: return
public void setUpdateCallback(com.elotouch.thermallib.IUpdateCallback);
Code:
0: aload_0
1: aload_1
2: putfield #68 // Field updateCallback:Lcom/elotouch/thermallib/IUpdateCallback;
5: aload_0
6: invokespecial #244 // Method getUpdater:()Lcom/elotouch/usb/EloTCMUpdaterDevice;
9: aload_0
10: getfield #72 // Field updaterServiceInterface:Lcom/elotouch/tcm/IEloTCMUpdaterServiceInterface;
13: invokevirtual #247 // Method com/elotouch/usb/EloTCMUpdaterDevice.setTCMUpdateEventListener:(Lcom/elotouch/tcm/IEloTCMUpdaterServiceInterface;)V
16: return
public void startUpdate();
Code:
0: aload_0
1: invokespecial #244 // Method getUpdater:()Lcom/elotouch/usb/EloTCMUpdaterDevice;
4: invokevirtual #248 // Method com/elotouch/usb/EloTCMUpdaterDevice.startUpdate:()V
7: return
static boolean access$100(com.elotouch.thermallib.ThermalController, android.hardware.usb.UsbDevice);
Code:
0: aload_0
1: aload_1
2: invokespecial #17 // Method isMagDev:(Landroid/hardware/usb/UsbDevice;)Z
5: ireturn
static void access$200(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #16 // Method startMag:()V
4: return
static boolean access$300(com.elotouch.thermallib.ThermalController, android.hardware.usb.UsbDevice);
Code:
0: aload_0
1: aload_1
2: invokespecial #15 // Method isTCMDev:(Landroid/hardware/usb/UsbDevice;)Z
5: ireturn
static void access$400(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #14 // Method startTCM:()V
4: return
static void access$500(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #13 // Method stopMag:()V
4: return
static void access$600(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #12 // Method stopTCM:()V
4: return
static void access$700(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #11 // Method _playMag:()V
4: return
static java.lang.String access$800();
Code:
0: getstatic #10 // Field TAG:Ljava/lang/String;
3: areturn
static boolean access$900(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #9 // Field _isRunning:Z
4: ireturn
static java.util.concurrent.locks.ReentrantLock access$1000(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #8 // Field _irlock:Ljava/util/concurrent/locks/ReentrantLock;
4: areturn
static boolean access$1102(com.elotouch.thermallib.ThermalController, boolean);
Code:
0: aload_0
1: iload_1
2: dup_x1
3: putfield #7 // Field _isSignaled:Z
6: ireturn
static java.util.concurrent.locks.Condition access$1200(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #6 // Field _condition:Ljava/util/concurrent/locks/Condition;
4: areturn
static com.elotouch.thermallib.INewDistance access$1300(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #5 // Field _newDistanceDelegate:Lcom/elotouch/thermallib/INewDistance;
4: areturn
static int access$1400(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #4 // Field _unitMode:I
4: ireturn
static void access$1500(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #3 // Method stopTryFinding:()V
4: return
static boolean access$1100(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: getfield #7 // Field _isSignaled:Z
4: ireturn
static void access$1600(com.elotouch.thermallib.ThermalController);
Code:
0: aload_0
1: invokespecial #2 // Method process:()V
4: return
static {};
Code:
0: ldc #65 // class com/elotouch/thermallib/ThermalController
2: invokevirtual #249 // Method java/lang/Class.getSimpleName:()Ljava/lang/String;
5: putstatic #10 // Field TAG:Ljava/lang/String;
8: return
}