RDKEAPPRT-886: clean-up - remove RDKShell, Alexa, plugin based app state logics, legacy Network & WiFi plugin dependencies#225
Conversation
…ature/clean-up-deprecated-implementations
There was a problem hiding this comment.
Pull request overview
This PR aims to clean up RefUI by removing RDKShell- and Alexa-specific integrations (and other legacy plugin dependencies), while bumping the application version. It also starts shifting some app lifecycle interactions toward AppManager-based flows, though several user flows are currently left as no-ops with FIXME placeholders.
Changes:
- Bump RefUI version from
6.0.26to6.0.27. - Remove legacy API modules and usage (RDKShell, Alexa, NetworkApi, LISAApi) across screens/overlays.
- Introduce/expand AppManager usage in a few places, but stub out multiple launch/focus/OTT behaviors pending replacement logic.
Reviewed changes
Copilot reviewed 34 out of 36 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| bolt/package-configs/com.rdkcentral.refui.json | Version bump to 6.0.27. |
| accelerator-home-ui/static/moreChannels/ChannelData.json | Update readme text (removes RDKShell wording) and formatting. |
| accelerator-home-ui/src/views/MainView.js | Removes RDKShell visibility calls; leaves HDMI visibility handling as FIXME. |
| accelerator-home-ui/src/views/AppInfoPage.js | Formatting-only whitespace normalization. |
| accelerator-home-ui/src/tvOverlay/TvOverlayScreen.js | Removes RDKShell focus/visibility restore logic; replaced with warning/FIXME. |
| accelerator-home-ui/src/screens/SuccessScreen.js | Removes Alexa SmartScreen enable call. |
| accelerator-home-ui/src/screens/SplashScreens/NetworkScreen.js | Removes Alexa routing logic; leaves placeholder if (false) branch. |
| accelerator-home-ui/src/screens/SplashScreen.js | Removes system UI switching logic; replaced with FIXME no-op. |
| accelerator-home-ui/src/screens/OtherSettingsScreens/TimeZone.js | Removes Alexa timezone update hook. |
| accelerator-home-ui/src/screens/OtherSettingsScreens/PrivacyScreen.js | Removes Alexa credential reset path; keeps cache clear + warehouse reset. |
| accelerator-home-ui/src/screens/OtherSettingsScreens/LanguageScreen.js | Removes Alexa language update logic. |
| accelerator-home-ui/src/screens/OtherSettingsScreens/FactoryResetConfirmationScreen.js | Removes Alexa reset/disable logic before factory reset. |
| accelerator-home-ui/src/screens/OtherSettingsScreens/DeviceInformationScreen.js | Removes Netflix ESN fetch logic; leaves placeholder display. |
| accelerator-home-ui/src/screens/FailureScreen.js | Removes Alexa/RDKShell retry logic; replaces with Router.back() path. |
| accelerator-home-ui/src/screens/EpgScreens/Epg.js | Removes OTT app launch behavior; now warns with FIXME. |
| accelerator-home-ui/src/screens/CodeScreen.js | Removes VoiceControl/Alexa OTP handling; replaces with TODO comment. |
| accelerator-home-ui/src/screens/AppLauncherScreen.js | Removes RDKShell-based focus/visibility/splash handling; leaves FIXME warnings. |
| accelerator-home-ui/src/screens/AlexaLoginScreen.js | Removes Alexa auth gating; always routes to CodeScreen (FIXME note). |
| accelerator-home-ui/src/screens/AlexaConfirmationScreen.js | Removes Alexa auth status mutation; keeps navigation. |
| accelerator-home-ui/src/overlays/SettingsOverlay.js | Removes RDKShell focus/visibility restoration. |
| accelerator-home-ui/src/overlays/OtherSettings/PrivacyScreenOverlay.js | Removes Alexa reset path; keeps cache clear + warehouse reset. |
| accelerator-home-ui/src/overlays/OtherSettings/DeviceInformationOverlay.js | Removes Netflix ESN fetch logic; leaves placeholder display. |
| accelerator-home-ui/src/overlays/AppCarousel.js | Switches some behavior to AppManager; app launch remains FIXME/no-op. |
| accelerator-home-ui/src/MediaPlayer/ChannelOverlay.js | Removes OTT app launch; now warns with FIXME. |
| accelerator-home-ui/src/items/SubscriptionItem.js | Removes YouTube launch on enter; now warns + completes flow. |
| accelerator-home-ui/src/App.js | Removes large blocks of RDKShell/Alexa handling; adds multiple FIXME stubs and some AppManager usage. |
| accelerator-home-ui/src/api/RDKShellApis.js | Deleted legacy RDKShell API wrapper. |
| accelerator-home-ui/src/api/NetworkApi.js | Deleted legacy Network plugin wrapper. |
| accelerator-home-ui/src/api/LISAApi.js | Deleted legacy LISA plugin wrapper. |
| accelerator-home-ui/src/api/firebolt/provider/PinChallengeProvider.js | Replaced UI routing with stub (currently breaks promise resolution). |
| accelerator-home-ui/src/api/firebolt/provider/KeyboardUIProvider.js | Replaced UI routing with stub (currently breaks promise resolution). |
| accelerator-home-ui/src/api/AppManagerApi.js | Minor formatting/whitespace normalization. |
| accelerator-home-ui/src/api/AppApi.js | Removes RDKShell-based launch/exit logic; leaves launchOverlay stub. |
| accelerator-home-ui/src/api/AlexaApi.js | Deleted legacy Alexa API wrapper. |
| accelerator-home-ui/settings.json | Version bump to 6.0.27. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… with dynamic actions
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 42 out of 44 changed files in this pull request and generated 6 comments.
Comments suppressed due to low confidence (1)
accelerator-home-ui/src/api/AppApi.js:394
exitApp()no longer performs any exit/close action for non-HDMI apps. After the plugin-status check it falls through and resolvesundefined, so callers (e.g.App.jscallingappApi.exitApp(GLOBALS.topmostApp)) will behave as if the app was closed even though nothing happened. SinceGLOBALS.topmostAppis now tracked as an AppManagerappId, this should use AppManager to close the app (or explicitly reject for unsupported legacy callsigns).
let pluginStatus, pluginState;// to check if the plugin is active, resumed, deactivated etc
if (callsign != "NativeApp" && !callsign.includes('application/dac.native') && (callsign != "FireboltApp")) {
try {
pluginStatus = await this.getPluginStatus(callsign);
if (pluginStatus !== undefined) {
|
b'## WARNING: A Blackduck scan failure has been waived A prior failure has been upvoted
|
…few activation calls
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 97 out of 99 changed files in this pull request and generated 3 comments.
Files not reviewed (1)
- accelerator-home-ui/package-lock.json: Generated file
Comments suppressed due to low confidence (2)
accelerator-home-ui/src/screens/UsbAppsScreen.js:23
UsbApiwas removed, but this screen still callsusbApi.cd(...)/usbApi.retrieUsb(...)(e.g., UsbAppsScreen.js:236, 628, 639). With the import/instance removed, navigating to this screen will throw a ReferenceError immediately on focus. If USB is intentionally deprecated, stub or gate these calls so the screen fails gracefully (or remove the route/screen entirely).
accelerator-home-ui/src/Config/Config.js:109GLOBALS._currentTopMostAppis initialized fromlocalStorage.getItem('topmostApp'), but thetopmostAppsetter never writes back to localStorage. This makes the localStorage read effectively stale/dead and prevents persistence across reloads.
_currentTopMostApp: localStorage.getItem('topmostApp') || 'com.rdkcentral.refui',
get topmostApp() {
return this._currentTopMostApp;
},
set topmostApp(value) {
| resolve('Blutooth activated') | ||
| }) | ||
| .catch(err => { | ||
| this.ERR('Activation failure', err) | ||
| Metrics.error(Metrics.ErrorType.OTHER, "BluetoothError", "Error while Thunder Controller Bluetooth activate "+JSON.stringify(err), false, null) | ||
| this.ERR("Error while Thunder Controller Bluetooth activate "+JSON.stringify(err)) | ||
| reject('Bluetooth activation failed', err) | ||
| }) |
| toggleCEC() { | ||
| this.cecApi.getEnabled() | ||
| .then(res => { | ||
| this.LOG("toggleCEC getEnabled result: " + JSON.stringify(res)) | ||
| if (res.enabled) { | ||
| this.cecApi.deactivate() | ||
| .then(() => { | ||
| this.tag('CECControl.Button').src = Utils.asset('images/settings/ToggleOffWhite.png') | ||
| }) | ||
| } | ||
| else { | ||
| this.cecApi.activate() | ||
| .then(() => { | ||
| this.tag('CECControl.Button').src = Utils.asset('images/settings/ToggleOnOrange.png') | ||
| }) | ||
| } | ||
| this.cecApi.setEnabled(!res.enabled).then(() => { | ||
| if (res.enabled) { | ||
| this.tag('CECControl.Button').src = Utils.asset('images/settings/ToggleOffWhite.png') | ||
| } else { | ||
| this.tag('CECControl.Button').src = Utils.asset('images/settings/ToggleOnOrange.png') | ||
| } | ||
| }) |
No description provided.