diff --git a/accelerator-home-ui/settings.json b/accelerator-home-ui/settings.json index 5cb3792..31202c4 100644 --- a/accelerator-home-ui/settings.json +++ b/accelerator-home-ui/settings.json @@ -13,6 +13,6 @@ "log": true, "enableAppSuspended": true, "showVersion": false, - "version": "5.0.22" + "version": "5.0.23" } } diff --git a/accelerator-home-ui/src/App.js b/accelerator-home-ui/src/App.js index 31f8ac6..e9fb667 100644 --- a/accelerator-home-ui/src/App.js +++ b/accelerator-home-ui/src/App.js @@ -700,11 +700,11 @@ export default class App extends Router.App { this.SubscribeToHdmiCecSourcevent(result[0].state, self.appIdentifiers) let getfriendlyname, getosdname; setTimeout(() => { - xcastApi.getFriendlyName().then(res => { - getfriendlyname = res.friendlyname; - this.LOG("XcastApi getFriendlyName :" + JSON.stringify(getfriendlyname)); + appApi.getFriendlyName().then(res => { + getfriendlyname = res.friendlyName; + this.LOG("AppApi getFriendlyName :" + JSON.stringify(getfriendlyname)); }).catch(err => { - this.ERR("XcastApi getFriendlyName Error: " + JSON.stringify(err)); + this.ERR("AppApi getFriendlyName Error: " + JSON.stringify(err)); }) cecApi.getOSDName().then(result => { getosdname = result.name; @@ -724,11 +724,11 @@ export default class App extends Router.App { cecApi.activate().then(() => { let getfriendlyname, getosdname; setTimeout(() => { - xcastApi.getFriendlyName().then(res => { - getfriendlyname = res.friendlyname; - this.LOG("XcastApi getFriendlyName :" + JSON.stringify(getfriendlyname)); + appApi.getFriendlyName().then(res => { + getfriendlyname = res.friendlyName; + this.LOG("AppApi getFriendlyName :" + JSON.stringify(getfriendlyname)); }).catch(err => { - this.ERR("XcastApi getFriendlyName Error: " + JSON.stringify(err)); + this.ERR("AppApi getFriendlyName Error: " + JSON.stringify(err)); }) cecApi.getOSDName().then(result => { getosdname = result.name; @@ -756,18 +756,18 @@ export default class App extends Router.App { console.warn("Xcast plugin activate"); if (result) { this.registerXcastListeners(); - // Update Xcast friendly name let serialnumber = "DefaultSLNO"; let modelName = "RDK" + GLOBALS.deviceType; - await appApi.getSerialNumber().then(async res => { - // Reduce display length; trim to last 6 characters - serialnumber = (res.length < 6) ? res : res.slice(-6); - }); - await this.xcastApi.getModelName().then(model => { - modelName = model + serialnumber; - }); + const serialRes = await appApi.getSerialNumber(); + serialnumber = (serialRes.length < 6) ? serialRes : serialRes.slice(-6); + const model = await this.xcastApi.getModelName(); + modelName = (model || modelName) + serialnumber; this.LOG("Xcast friendly name to be set: " + JSON.stringify(modelName)); - await this.xcastApi.setFriendlyName(modelName); + try { + await appApi.setFriendlyName(modelName); + } catch (err) { + this.ERR("AppApi setFriendlyName error: " + JSON.stringify(err) + " - continuing Xcast activation"); + } await this.xcastApi.setEnabled(true).then(res => { GLOBALS.LocalDeviceDiscoveryStatus = true; console.warn("Xcast setEnabled success" + JSON.stringify(res)); diff --git a/accelerator-home-ui/src/api/AppApi.js b/accelerator-home-ui/src/api/AppApi.js index 7ed87fb..e20157b 100644 --- a/accelerator-home-ui/src/api/AppApi.js +++ b/accelerator-home-ui/src/api/AppApi.js @@ -1529,11 +1529,52 @@ export default class AppApi { }) } + getFriendlyName() { + return new Promise((resolve, reject) => { + thunder.call('org.rdk.System', 'getFriendlyName').then(result => { + if (result.success) { + resolve(result) + } else { + const error = new Error('getFriendlyName failed: success=false'); + error.result = result; + reject(error) + } + }).catch(err => { + this.ERR("AppAPI getFriendlyName error:", JSON.stringify(err, 3, null)) + Metrics.error(Metrics.ErrorType.OTHER, "PluginError", "Error in Thunder system getFriendlyName " + JSON.stringify(err), false, null) + reject(err) + }) + }) + } + + setFriendlyName(name) { + return new Promise((resolve, reject) => { + thunder.call('org.rdk.System', 'setFriendlyName', { "friendlyName": name }).then(result => { + if (result.success) { + resolve(result) + } else { + const error = new Error('setFriendlyName failed: success=false'); + error.result = result; + reject(error) + } + }).catch(err => { + this.ERR("AppAPI setFriendlyName error:", JSON.stringify(err, 3, null)) + Metrics.error(Metrics.ErrorType.OTHER, "PluginError", "Error in Thunder system setFriendlyName " + JSON.stringify(err), false, null) + reject(err) + }) + }) + } + getRFCConfig(rfcParamsList) { return new Promise((resolve, reject) => { thunder.call('org.rdk.System', 'getRFCConfig', rfcParamsList).then(result => { - if (result.success) resolve(result) - reject(false) + if (result.success) { + resolve(result) + } else { + const error = new Error('getRFCConfig failed: success=false'); + error.result = result; + reject(error) + } }).catch(err => { this.ERR("AppAPI getRFCConfig error:", JSON.stringify(err, 3, null)) Metrics.error(Metrics.ErrorType.OTHER, "PluginError", "Error in Thunder system getRFCConfig " + JSON.stringify(err), false, null)