Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft] Re-Implement App Install flow #33959

Closed
wants to merge 1 commit into from

Conversation

lazarkov
Copy link
Contributor

@lazarkov lazarkov commented Jun 17, 2024

Re-Implementing application installation flow

Problem

Current application installation flow blocks commissioning and has too crude functionality that cannot provide great UX (providing installation percentage etc.)

Change overview

  • Updated pre-commissioning part of app install flow and removed blocking of commissioning if app is not installed
  • Add app when it is not installed
  • Extend application basic cluster with: installed, not installed, installation failed and installation completed

Tests

  1. Build the TV app using command:
    scripts/examples/gn_build_example.sh examples/tv-app/linux out/debug/

  2. Build the TV casting app using command:
    scripts/examples/gn_build_example.sh examples/tv-casting-app/linux out/debug/

  3. Start TV App
    out/debug/chip-tv-app

  4. Start TV Casting App
    out/debug/chip-tv-casting-app

  5. On TV App: Uninstall the app
    app uninstall 65521 32769

  6. On TV Casting App: Send casting request to the tv-app using
    cast request 0

  7. On TV App: Accepted the Cast request from the tv-casting app
    controller ux ok

  8. On TV casting app: Send Application Basic command
    cast cluster applicationbasic read status 0 4

Note that you'll see the response Status: 4 which stands for kNotInstalled

---------- TBA --------
9. On TV app: Run App install command
app install 65521 32769

This should update the app status to kInstalled

@@ -225,6 +225,7 @@ CHIP_ERROR ApplicationBasicAttrAccess::ReadApplicationAttribute(app::AttributeVa

CHIP_ERROR ApplicationBasicAttrAccess::ReadStatusAttribute(app::AttributeValueEncoder & aEncoder, Delegate * delegate)
{
ChipLogProgress(DeviceLayer, "Here 1");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ChipLogProgress(DeviceLayer, "Here 1");
ChipLogProgress(DeviceLayer, "ApplicationBasicAttrAccess::ReadStatusAttribute");

<item name="NotInstalled" value="0x04"/>
<item name="Installing" value="0x05"/>
<item name="InstallationFailed" value="0x06"/>
<item name="Installed" value="0x07"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like the first 4 states indicate Installed. When would we need this state?

@lazarkov lazarkov closed this Jun 18, 2024
@lazarkov lazarkov deleted the feature/re-invent-app-installation-flow branch June 18, 2024 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants