diff --git a/accelerator-home-ui/settings.json b/accelerator-home-ui/settings.json index 2d334d0..a0d036b 100644 --- a/accelerator-home-ui/settings.json +++ b/accelerator-home-ui/settings.json @@ -13,6 +13,6 @@ "log": true, "enableAppSuspended": true, "showVersion": false, - "version": "6.0.27" + "version": "6.0.28" } } diff --git a/accelerator-home-ui/src/items/AppCatalogItem.js b/accelerator-home-ui/src/items/AppCatalogItem.js index af4fd2c..7e67f40 100644 --- a/accelerator-home-ui/src/items/AppCatalogItem.js +++ b/accelerator-home-ui/src/items/AppCatalogItem.js @@ -49,7 +49,9 @@ export const DACAppMixin = (Base) => class extends Base { const errorCode = this._app.errorCode ?? -1; if (Object.prototype.hasOwnProperty.call(this._app, "errorCode")) delete this._app.errorCode; this.updateDACStatus(statusProgressTag, overlayTag) - if (!success) { + if (success) { + this._showGreenTick(statusProgressTag) + } else { this.tag(statusProgressTag).setProgress(1.0, 'Error: ' + msg) this.fireAncestors('$showInstallError', { name: this._app.name, errorCode: errorCode }) } @@ -86,6 +88,21 @@ export const DACAppMixin = (Base) => class extends Base { } } + _showGreenTick(statusProgressTag) { + const tickMarkTag = statusProgressTag.replace('StatusProgress', 'TickMark') + const tickOverlayTag = statusProgressTag.replace('StatusProgress', 'TickOverlay') + const tickMark = this.tag(tickMarkTag) + const tickOverlay = this.tag(tickOverlayTag) + if (tickMark) { + if (tickOverlay) tickOverlay.alpha = 0.7 + tickMark.alpha = 1 + setTimeout(() => { + tickMark.setSmooth('alpha', 0, { duration: 0.5 }) + if (tickOverlay) tickOverlay.setSmooth('alpha', 0, { duration: 0.5 }) + }, 2000) + } + } + async performDACInstall(statusProgressTag, overlayTag) { if (this._app.isInstalled) { this.LOG("App is already installed, launching: " + this._app.name) @@ -187,6 +204,26 @@ export default class AppCatalogItem extends DACAppMixin(Lightning.Component) { type: StatusProgress, x: 50, y: 80, w: 200, alpha: 1, }, + TickOverlay: { + alpha: 0, + zIndex: 11, + rect: true, + color: 0xFF000000, + x: 0, + y: 0, + w: this.width, + h: this.height, + }, + TickMark: { + alpha: 0, + zIndex: 12, + mount: 0.5, + x: this.width / 2, + y: this.height / 2, + w: 100, + h: 100, + src: Utils.asset('/images/tick.png'), + }, } } diff --git a/accelerator-home-ui/src/items/DacAppItem.js b/accelerator-home-ui/src/items/DacAppItem.js index 28319c1..7884c7b 100644 --- a/accelerator-home-ui/src/items/DacAppItem.js +++ b/accelerator-home-ui/src/items/DacAppItem.js @@ -66,6 +66,20 @@ export default class DacAppItem extends DACAppMixin(Lightning.Component) { alpha: 1, zIndex: 10, }, + TickOverlay: { + alpha: 0, + zIndex: 11, + rect: true, + color: 0xFF000000, + }, + TickMark: { + alpha: 0, + zIndex: 12, + mount: 0.5, + w: 100, + h: 100, + src: Utils.asset('/images/tick.png'), + }, }, Info: {}, }, @@ -154,6 +168,19 @@ export default class DacAppItem extends DACAppMixin(Lightning.Component) { h: this.h, }) + // TickOverlay covers entire tile as dark backdrop + this.tag('ImageWrapper.TickOverlay').patch({ + x: 0, + y: 0, + w: this.w, + h: this.h, + }) + // TickMark centered on tile + this.tag('ImageWrapper.TickMark').patch({ + x: this.w / 2, + y: this.h / 2, + }) + this.tag('Info').patch({ x: this.x - 20, y: this.y + this.h + 10, diff --git a/accelerator-home-ui/static/images/tick.png b/accelerator-home-ui/static/images/tick.png new file mode 100644 index 0000000..0f6040e Binary files /dev/null and b/accelerator-home-ui/static/images/tick.png differ diff --git a/bolt/package-configs/com.rdkcentral.refui.json b/bolt/package-configs/com.rdkcentral.refui.json index 1279f94..5ccfa2a 100644 --- a/bolt/package-configs/com.rdkcentral.refui.json +++ b/bolt/package-configs/com.rdkcentral.refui.json @@ -1,7 +1,7 @@ { "id": "com.rdkcentral.refui", - "version": "6.0.27", - "versionName": "6.0.27", + "version": "6.0.28", + "versionName": "6.0.28", "name": "RDK Ref UI Home Screen", "packageType": "application", "entryPoint": "--lightning --dev file:///usr/share/refui/index.html",