@@ -115,7 +115,7 @@ function findRuntimesGroupByDeviceProperty(list, deviceProperty, availableOnly)
115115function 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+
226235var 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