Skip to content

Commit 840bf11

Browse files
committed
Fixes #202 - (Re-fix) lib.js/getdevicetypes gets wrong list of devices versus showdevicetypes
1 parent aaf3b2e commit 840bf11

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/lib.js

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ function findRuntimesGroupByDeviceProperty(list, deviceProperty, availableOnly)
115115
function findAvailableRuntime(list, device_name) {
116116

117117
var all_druntimes = findRuntimesGroupByDeviceProperty(list, 'name', true);
118-
var druntime = all_druntimes[device_name];
118+
var druntime = all_druntimes[ filterDeviceName(device_name) ];
119119
var runtime_found = druntime && druntime.length > 0;
120120

121121
if (!runtime_found) {
@@ -203,7 +203,7 @@ function getDeviceFromDeviceTypeId(devicetypeid) {
203203
// found the runtime, now find the actual device matching devicename
204204
if (deviceGroup.runtime === ret_obj.runtime) {
205205
return deviceGroup.devices.some(function(device) {
206-
if (device.name === ret_obj.name) {
206+
if (filterDeviceName(device.name) === filterDeviceName(ret_obj.name)) {
207207
ret_obj.id = device.id;
208208
return true;
209209
}
@@ -223,6 +223,15 @@ function getDeviceFromDeviceTypeId(devicetypeid) {
223223
return ret_obj;
224224
}
225225

226+
// replace hyphens in iPad Pro name which differ in 'Device Types' and 'Devices'
227+
function filterDeviceName(deviceName) {
228+
// replace hyphens in iPad Pro name which differ in 'Device Types' and 'Devices'
229+
if (deviceName.indexOf('iPad Pro') === 0) {
230+
return deviceName.replace(/\-/g, ' ').trim();
231+
}
232+
return deviceName;
233+
}
234+
226235
var lib = {
227236

228237
init: function() {
@@ -264,11 +273,7 @@ var lib = {
264273
var name_id_map = {};
265274

266275
list.devicetypes.forEach(function(device) {
267-
// replace hyphens in iPad Pro name which differ in 'Device Types' and 'Devices'
268-
if (device.name.indexOf('iPad Pro') === 0) {
269-
device.name = device.name.replace(/\-/g, ' ').trim();
270-
}
271-
name_id_map[ device.name ] = device.id;
276+
name_id_map[ filterDeviceName(device.name) ] = device.id;
272277
});
273278

274279
list = [];
@@ -279,13 +284,9 @@ var lib = {
279284

280285
for (var deviceName in druntimes) {
281286
var runtimes = druntimes[ deviceName ];
287+
var dname = filterDeviceName(deviceName);
282288

283-
// replace hyphens in iPad Pro name which differ in 'Device Types' and 'Devices'
284-
if (deviceName.indexOf('iPad Pro') === 0) {
285-
deviceName = deviceName.replace(/\-/g, ' ').trim();
286-
}
287-
288-
if (!(deviceName in name_id_map)) {
289+
if (!(dname in name_id_map)) {
289290
continue;
290291
}
291292
runtimes.forEach(remove);

0 commit comments

Comments
 (0)