hunter-open-sdk 2.0.0-beta.2 → 2.0.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/abilities/activate/index.js +48 -0
- package/lib/abilities/activate/worker.js +19 -0
- package/lib/abilities/erase/index.js +48 -0
- package/lib/abilities/erase/worker.js +19 -0
- package/lib/abilities/eventManager/index.js +338 -0
- package/lib/abilities/getAndroidSn/index.js +165 -0
- package/lib/abilities/getGeneralReport/index.js +64 -0
- package/lib/abilities/getGeneralReport/worker.js +38 -0
- package/lib/abilities/getSaaSReport/index.js +48 -0
- package/lib/abilities/getSaaSReport/worker.js +21 -0
- package/lib/abilities/installApp/index.js +48 -0
- package/lib/abilities/installApp/worker.js +19 -0
- package/lib/abilities/reboot/index.js +48 -0
- package/lib/abilities/reboot/worker.js +19 -0
- package/lib/abilities/shutdown/index.js +48 -0
- package/lib/abilities/shutdown/worker.js +19 -0
- package/lib/abilities/skip/index.js +48 -0
- package/lib/abilities/skip/worker.js +19 -0
- package/lib/events/driver/command.js +8 -9
- package/lib/events/driver/service.js +24 -35
- package/lib/events/driver/winDriver.js +121 -188
- package/lib/helper/deviceHelper.js +19 -37
- package/lib/index.js +24 -12
- package/lib/resources/dll/{libinspectionkit_x64_0.1.0.dll → libinspectionkit_x64_0.4.1.dll} +0 -0
- package/lib/resources/mac/{libinspectionkit_arm64_0.1.0.dylib → libinspectionkit_amd64_0.4.1.dylib} +0 -0
- package/lib/resources/mac/libinspectionkit_arm64_0.4.1.dylib +0 -0
- package/lib/resources/version.online +1 -1
- package/lib/utils/utils.ability.js +9 -0
- package/lib/utils/utils.command.js +8 -9
- package/lib/utils/utils.common.js +26 -0
- package/lib/utils/{utils.js → utils.env.js} +19 -18
- package/lib/utils/utils.global.js +70 -89
- package/lib/utils/utils.initDll.js +16 -14
- package/lib/utils/utils.path.js +21 -6
- package/lib/utils/utils.process.js +35 -0
- package/lib/utils/utils.sn.js +31 -47
- package/lib/utils/utils.worker.js +32 -0
- package/package.json +7 -8
- package/lib/getAndroidSn/index.js +0 -228
- package/lib/getGeneralReport/index.js +0 -76
- package/lib/getGeneralReport/worker.js +0 -20
- package/lib/getSaaSReport/index.js +0 -76
- package/lib/getSaaSReport/worker.js +0 -20
- package/lib/registerEvent/index.js +0 -427
- package/lib/resources/mac/libinspectionkit_amd64_0.1.0.dylib +0 -0
|
@@ -1,427 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.UnregisterEvent = exports.RegisterEvent = void 0;
|
|
8
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
-
var _utils = require("../utils/utils");
|
|
11
|
-
var _winDriver = require("../events/driver/winDriver");
|
|
12
|
-
var _utils2 = require("../utils/utils.global");
|
|
13
|
-
var _deviceHelper = require("../helper/deviceHelper");
|
|
14
|
-
var _utils3 = require("../utils/utils.initDll");
|
|
15
|
-
var usbmux = require('usbmux');
|
|
16
|
-
var path = require('path');
|
|
17
|
-
var request = require("request");
|
|
18
|
-
var fs = require('fs');
|
|
19
|
-
var Sentry = require("@sentry/browser");
|
|
20
|
-
|
|
21
|
-
// saas回调
|
|
22
|
-
var saasCallBack;
|
|
23
|
-
|
|
24
|
-
// usb监听
|
|
25
|
-
var usbListener = null;
|
|
26
|
-
/**
|
|
27
|
-
* 获取资源文件的基础路径
|
|
28
|
-
*/
|
|
29
|
-
var getResourcePath = function getResourcePath() {
|
|
30
|
-
if ((0, _utils.isDev)()) {
|
|
31
|
-
// 开发环境:使用源码目录
|
|
32
|
-
return path.resolve(__dirname, '../resources');
|
|
33
|
-
} else {
|
|
34
|
-
// 生产环境:使用 Electron 的资源路径
|
|
35
|
-
return path.resolve(process.resourcesPath, 'resources');
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* 发布配对
|
|
41
|
-
* @param {String} udid 设备id
|
|
42
|
-
* @param {String} params 参数
|
|
43
|
-
* @returns {String} 发布配对结果
|
|
44
|
-
*/
|
|
45
|
-
var publishPair = function publishPair() {
|
|
46
|
-
var udid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
47
|
-
var params = arguments.length > 1 ? arguments[1] : undefined;
|
|
48
|
-
// 通过调用 trust_status 来判断信任状态
|
|
49
|
-
var kitParamsObj = JSON.parse(params);
|
|
50
|
-
|
|
51
|
-
// 合并参数
|
|
52
|
-
Object.assign(kitParamsObj, {
|
|
53
|
-
cmd: 'publish_pair',
|
|
54
|
-
udid: udid
|
|
55
|
-
});
|
|
56
|
-
return (0, _utils2.callHunterInspectionKit)('TheForceKit', JSON.stringify(kitParamsObj));
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* 获取信任状态
|
|
61
|
-
* @param {String} udid 设备id
|
|
62
|
-
* @returns
|
|
63
|
-
*/
|
|
64
|
-
var getTrustStatus = /*#__PURE__*/function () {
|
|
65
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
66
|
-
var udid,
|
|
67
|
-
params,
|
|
68
|
-
once,
|
|
69
|
-
kitParamsObj,
|
|
70
|
-
trustStatusRes,
|
|
71
|
-
trustStatusResObj,
|
|
72
|
-
Code,
|
|
73
|
-
Data,
|
|
74
|
-
_args = arguments;
|
|
75
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
76
|
-
while (1) switch (_context.prev = _context.next) {
|
|
77
|
-
case 0:
|
|
78
|
-
udid = _args.length > 0 && _args[0] !== undefined ? _args[0] : '';
|
|
79
|
-
params = _args.length > 1 ? _args[1] : undefined;
|
|
80
|
-
once = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
|
|
81
|
-
if (_deviceHelper.deviceHelper.hasUdid(udid)) {
|
|
82
|
-
_context.next = 5;
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
return _context.abrupt("return", false);
|
|
86
|
-
case 5:
|
|
87
|
-
// 通过调用 trust_status 来判断信任状态
|
|
88
|
-
kitParamsObj = JSON.parse(params); // 合并参数
|
|
89
|
-
Object.assign(kitParamsObj, {
|
|
90
|
-
cmd: 'trust_status',
|
|
91
|
-
udid: udid
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// 获取信任状态
|
|
95
|
-
trustStatusRes = (0, _utils2.callHunterInspectionKit)('TheForceKit', JSON.stringify(kitParamsObj));
|
|
96
|
-
if (!trustStatusRes) {
|
|
97
|
-
_context.next = 21;
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
trustStatusResObj = JSON.parse(trustStatusRes);
|
|
101
|
-
Code = trustStatusResObj.Code, Data = trustStatusResObj.Data;
|
|
102
|
-
if (!(Code == 0 && (Data.imei || Data.serialNumber))) {
|
|
103
|
-
_context.next = 15;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
return _context.abrupt("return", Data);
|
|
107
|
-
case 15:
|
|
108
|
-
if (once) {
|
|
109
|
-
_context.next = 21;
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
_context.next = 18;
|
|
113
|
-
return (0, _utils.sleep)();
|
|
114
|
-
case 18:
|
|
115
|
-
_context.next = 20;
|
|
116
|
-
return getTrustStatus(udid, params);
|
|
117
|
-
case 20:
|
|
118
|
-
return _context.abrupt("return", _context.sent);
|
|
119
|
-
case 21:
|
|
120
|
-
return _context.abrupt("return", false);
|
|
121
|
-
case 22:
|
|
122
|
-
case "end":
|
|
123
|
-
return _context.stop();
|
|
124
|
-
}
|
|
125
|
-
}, _callee);
|
|
126
|
-
}));
|
|
127
|
-
return function getTrustStatus() {
|
|
128
|
-
return _ref.apply(this, arguments);
|
|
129
|
-
};
|
|
130
|
-
}();
|
|
131
|
-
var getTrustStatusOnce = /*#__PURE__*/function () {
|
|
132
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(udid, params) {
|
|
133
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
134
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
135
|
-
case 0:
|
|
136
|
-
_context2.next = 2;
|
|
137
|
-
return getTrustStatus(udid, params, true);
|
|
138
|
-
case 2:
|
|
139
|
-
return _context2.abrupt("return", _context2.sent);
|
|
140
|
-
case 3:
|
|
141
|
-
case "end":
|
|
142
|
-
return _context2.stop();
|
|
143
|
-
}
|
|
144
|
-
}, _callee2);
|
|
145
|
-
}));
|
|
146
|
-
return function getTrustStatusOnce(_x, _x2) {
|
|
147
|
-
return _ref2.apply(this, arguments);
|
|
148
|
-
};
|
|
149
|
-
}();
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* 配对并获取信任状态
|
|
153
|
-
* @param {String} udid 设备id
|
|
154
|
-
* @returns
|
|
155
|
-
*/
|
|
156
|
-
var DevicePair = /*#__PURE__*/function () {
|
|
157
|
-
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
|
|
158
|
-
var udid,
|
|
159
|
-
params,
|
|
160
|
-
trustStatusOnceRes,
|
|
161
|
-
trustStatusRes,
|
|
162
|
-
_args3 = arguments;
|
|
163
|
-
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
164
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
165
|
-
case 0:
|
|
166
|
-
udid = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : '';
|
|
167
|
-
params = _args3.length > 1 ? _args3[1] : undefined;
|
|
168
|
-
_context3.next = 4;
|
|
169
|
-
return getTrustStatusOnce(udid, params);
|
|
170
|
-
case 4:
|
|
171
|
-
trustStatusOnceRes = _context3.sent;
|
|
172
|
-
// 未信任弹起信任窗口
|
|
173
|
-
if (!trustStatusOnceRes) {
|
|
174
|
-
// 发布配对
|
|
175
|
-
publishPair(udid, params);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// 通过 trust_status 来判断信任状态
|
|
179
|
-
_context3.next = 8;
|
|
180
|
-
return getTrustStatus(udid, params);
|
|
181
|
-
case 8:
|
|
182
|
-
trustStatusRes = _context3.sent;
|
|
183
|
-
if (trustStatusRes) {
|
|
184
|
-
saasCallBack({
|
|
185
|
-
data: {
|
|
186
|
-
eventName: 'type_trust_result',
|
|
187
|
-
udid: udid,
|
|
188
|
-
eventCode: 0
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
case 10:
|
|
193
|
-
case "end":
|
|
194
|
-
return _context3.stop();
|
|
195
|
-
}
|
|
196
|
-
}, _callee3);
|
|
197
|
-
}));
|
|
198
|
-
return function DevicePair() {
|
|
199
|
-
return _ref3.apply(this, arguments);
|
|
200
|
-
};
|
|
201
|
-
}();
|
|
202
|
-
|
|
203
|
-
// 写入dll文件version
|
|
204
|
-
var writeDllVersion = function writeDllVersion(version) {
|
|
205
|
-
var resourcePath = getResourcePath();
|
|
206
|
-
var versionPath = path.resolve(resourcePath, 'version.online');
|
|
207
|
-
fs.writeFile(versionPath, version, function (err) {
|
|
208
|
-
if (err) {
|
|
209
|
-
saasCallBack({
|
|
210
|
-
data: {
|
|
211
|
-
eventName: 'type_update_result',
|
|
212
|
-
eventCode: -1 // eventCode 0 更新成功 -1 更新失败
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
console.log('========写入version成功');
|
|
218
|
-
// 写入成功后 重新初始化dll
|
|
219
|
-
(0, _utils3.initHunterInspectionKit)();
|
|
220
|
-
saasCallBack({
|
|
221
|
-
data: {
|
|
222
|
-
eventName: 'type_update_result',
|
|
223
|
-
eventCode: 0 // eventCode 0 更新成功 -1 更新失败
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
// 下载更新dll
|
|
230
|
-
var updateDll = function updateDll(packageUrl, targetVersion) {
|
|
231
|
-
// 若需要更新 则下载完成后 覆盖本地dll文件
|
|
232
|
-
var dllOutPath;
|
|
233
|
-
var resourcePath = getResourcePath();
|
|
234
|
-
if ((0, _utils.isMac)()) {
|
|
235
|
-
if ((0, _utils.isArm64)()) {
|
|
236
|
-
dllOutPath = path.resolve(resourcePath, "mac/libinspectionkit_arm64_".concat(targetVersion, ".dylib"));
|
|
237
|
-
}
|
|
238
|
-
} else {
|
|
239
|
-
dllOutPath = path.resolve(resourcePath, "dll/libinspectionkit_x64_".concat(targetVersion, ".dll"));
|
|
240
|
-
}
|
|
241
|
-
var dllStream = fs.createWriteStream(dllOutPath);
|
|
242
|
-
request(packageUrl).pipe(dllStream).on("close", function (err) {
|
|
243
|
-
if (err) {
|
|
244
|
-
saasCallBack({
|
|
245
|
-
data: {
|
|
246
|
-
eventName: 'type_update_result',
|
|
247
|
-
eventCode: -1 // eventCode 0 更新成功 -1 更新失败
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
} else {
|
|
251
|
-
// 写version文件内容
|
|
252
|
-
writeDllVersion(targetVersion);
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* 更新下载dll文件 并重写本地版本号
|
|
259
|
-
* @param {String} udid 设备id
|
|
260
|
-
* @returns
|
|
261
|
-
*/
|
|
262
|
-
var updateDllFileCheck = function updateDllFileCheck() {
|
|
263
|
-
// mac的amd不支持更新
|
|
264
|
-
if ((0, _utils.isMac)() && (0, _utils.isAmd64)()) return;
|
|
265
|
-
var updateParams = {
|
|
266
|
-
cmd: 'hot_update',
|
|
267
|
-
label: (0, _utils.isWin)() ? 'Windows' : 'Mac',
|
|
268
|
-
params: {}
|
|
269
|
-
};
|
|
270
|
-
var updateRes = (0, _utils2.callHunterInspectionKit)('TheForceKit', JSON.stringify(updateParams));
|
|
271
|
-
if (updateRes) {
|
|
272
|
-
var updateResObj = JSON.parse(updateRes);
|
|
273
|
-
var Code = updateResObj.Code,
|
|
274
|
-
Data = updateResObj.Data;
|
|
275
|
-
if (Code == 0) {
|
|
276
|
-
var isHot = Data.isHot,
|
|
277
|
-
url = Data.url,
|
|
278
|
-
targetVersion = Data.targetVersion;
|
|
279
|
-
|
|
280
|
-
// 需要更新 则直接下载
|
|
281
|
-
isHot == 1 && updateDll(url, targetVersion);
|
|
282
|
-
saasCallBack({
|
|
283
|
-
data: {
|
|
284
|
-
eventName: 'type_need_update',
|
|
285
|
-
eventCode: isHot == 1 ? 0 : -1 // eventCode 0 需要更新 -1 不需要更新
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
} else {
|
|
289
|
-
// 错误的时候不需要更新
|
|
290
|
-
saasCallBack({
|
|
291
|
-
data: {
|
|
292
|
-
eventName: 'type_need_update',
|
|
293
|
-
eventCode: -1 // eventCode 0 需要更新 -1 不需要更新
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* 检查并安装驱动
|
|
302
|
-
*/
|
|
303
|
-
var checkAndInstallDriver = function checkAndInstallDriver() {
|
|
304
|
-
return new Promise(function (resolve, reject) {
|
|
305
|
-
if (!(0, _utils.isWin)()) {
|
|
306
|
-
resolve();
|
|
307
|
-
return;
|
|
308
|
-
}
|
|
309
|
-
(0, _winDriver.checkHasDriver)().then(function (res) {
|
|
310
|
-
if (res) {
|
|
311
|
-
resolve();
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
(0, _winDriver.downloadDriver)(function (percent) {
|
|
315
|
-
saasCallBack({
|
|
316
|
-
data: {
|
|
317
|
-
eventName: 'type_need_install_driver',
|
|
318
|
-
eventCode: 0,
|
|
319
|
-
eventContent: JSON.stringify({
|
|
320
|
-
percent: percent // 下载进度
|
|
321
|
-
})
|
|
322
|
-
}
|
|
323
|
-
});
|
|
324
|
-
}).then(function () {
|
|
325
|
-
// 成功
|
|
326
|
-
console.log('驱动下载并安装成功');
|
|
327
|
-
saasCallBack({
|
|
328
|
-
data: {
|
|
329
|
-
eventName: 'type_install_driver_result',
|
|
330
|
-
eventCode: 0 // 0 成功 -1 失败
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
resolve();
|
|
334
|
-
}).catch(function (err) {
|
|
335
|
-
// 失败
|
|
336
|
-
console.error('驱动下载或安装失败', err);
|
|
337
|
-
Sentry.captureException('驱动下载或安装失败:' + JSON.stringify(err));
|
|
338
|
-
saasCallBack({
|
|
339
|
-
data: {
|
|
340
|
-
eventName: 'type_install_driver_result',
|
|
341
|
-
eventCode: -1 // 0 成功 -1 失败
|
|
342
|
-
}
|
|
343
|
-
});
|
|
344
|
-
reject();
|
|
345
|
-
});
|
|
346
|
-
}).catch(function (err) {
|
|
347
|
-
console.error('驱动检测失败', err);
|
|
348
|
-
Sentry.captureException('驱动检测失败:' + JSON.stringify(err));
|
|
349
|
-
reject();
|
|
350
|
-
});
|
|
351
|
-
});
|
|
352
|
-
};
|
|
353
|
-
var RegisterEvent = exports.RegisterEvent = /*#__PURE__*/function () {
|
|
354
|
-
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(params, callBack) {
|
|
355
|
-
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
356
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
357
|
-
case 0:
|
|
358
|
-
saasCallBack = callBack;
|
|
359
|
-
|
|
360
|
-
// 检查是否需要更新dll
|
|
361
|
-
updateDllFileCheck();
|
|
362
|
-
|
|
363
|
-
// 在插线之前就检测驱动状态
|
|
364
|
-
_context5.next = 4;
|
|
365
|
-
return checkAndInstallDriver();
|
|
366
|
-
case 4:
|
|
367
|
-
usbListener = new usbmux.createListener().on('attached', /*#__PURE__*/function () {
|
|
368
|
-
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(udid) {
|
|
369
|
-
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
370
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
371
|
-
case 0:
|
|
372
|
-
if (udid) {
|
|
373
|
-
_context4.next = 2;
|
|
374
|
-
break;
|
|
375
|
-
}
|
|
376
|
-
return _context4.abrupt("return");
|
|
377
|
-
case 2:
|
|
378
|
-
// 插入设备通知
|
|
379
|
-
saasCallBack({
|
|
380
|
-
data: {
|
|
381
|
-
eventName: 'type_usb_device_result',
|
|
382
|
-
udid: udid,
|
|
383
|
-
eventCode: 0
|
|
384
|
-
}
|
|
385
|
-
});
|
|
386
|
-
_deviceHelper.deviceHelper.addUdid(udid);
|
|
387
|
-
// 有驱动,直接运行脚本
|
|
388
|
-
DevicePair(udid, params);
|
|
389
|
-
case 5:
|
|
390
|
-
case "end":
|
|
391
|
-
return _context4.stop();
|
|
392
|
-
}
|
|
393
|
-
}, _callee4);
|
|
394
|
-
}));
|
|
395
|
-
return function (_x5) {
|
|
396
|
-
return _ref5.apply(this, arguments);
|
|
397
|
-
};
|
|
398
|
-
}()).on('detached', function (udid) {
|
|
399
|
-
// 拔出设备
|
|
400
|
-
saasCallBack({
|
|
401
|
-
data: {
|
|
402
|
-
eventName: 'type_usb_device_result',
|
|
403
|
-
udid: udid,
|
|
404
|
-
eventCode: -1
|
|
405
|
-
}
|
|
406
|
-
});
|
|
407
|
-
_deviceHelper.deviceHelper.removeUdid(udid);
|
|
408
|
-
}).on('error', function (err) {
|
|
409
|
-
console.log('usb连接错误:', err);
|
|
410
|
-
Sentry.captureException('usb连接错误:' + JSON.stringify(err));
|
|
411
|
-
var errMsg = "usb\u8FDE\u63A5\u9519\u8BEF\uFF1A".concat(err);
|
|
412
|
-
throw new Error(errMsg);
|
|
413
|
-
});
|
|
414
|
-
case 5:
|
|
415
|
-
case "end":
|
|
416
|
-
return _context5.stop();
|
|
417
|
-
}
|
|
418
|
-
}, _callee5);
|
|
419
|
-
}));
|
|
420
|
-
return function RegisterEvent(_x3, _x4) {
|
|
421
|
-
return _ref4.apply(this, arguments);
|
|
422
|
-
};
|
|
423
|
-
}();
|
|
424
|
-
var UnregisterEvent = exports.UnregisterEvent = function UnregisterEvent() {
|
|
425
|
-
usbListener && usbListener.destroy();
|
|
426
|
-
_deviceHelper.deviceHelper.clearUdidList();
|
|
427
|
-
};
|
|
Binary file
|