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

Added Android platform #9884

Merged
merged 29 commits into from
Sep 30, 2021
Merged

Conversation

xylophone21
Copy link
Collaborator

Problem

On all other platforms, platform related code are placed at src/platform/xxx, but on Android, these code are placed at src/control/java

MatterTVCluster-arch_now drawio (1)

It caused that:

  • [duplicate code] When we adding tv clusters app android ( in orange ), we have to add duplicate app server java & jni and AndroidChipStack ( in orange ) which are similar with controller/java & jni and AndroidChipStack ( in Red )
  • [Feature not work] There is no enough injection in some modules (for example src/app/server/Server.cpp) . It calls DeviceLayer::ConnectivityMgr().GetBleLayer()).xxx directly without check if a BleLayer is inject like controller
  • [Can not Test] Platform ul test code can not run with this arch

Change overview

MatterTVCluster-Improved architecture drawio

  • Move platform code form src/control/java to src/platform/android
  • added PlatformManager implement
  • added android test app and pass all ultest of platform
  • As discussed in slack, I keep using inject mode in control, so that we will not drop inject mode and hope to have more and more inject mode later

Testing

  • Pass all ul test at src/platform/test
  • Some basic test with CHIPTool Android

Copy link
Contributor

@chrisdecenzo chrisdecenzo left a comment

Choose a reason for hiding this comment

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

wow - this is a big PR. Looks safe but if there are ways to break it up then the risk of accidental regression might be reduced.

@andy31415
Copy link
Contributor

@austinh0 ?

@github-actions
Copy link

Size increase report for "esp32-example-build" from 25cb340

File Section File VM
chip-all-clusters-app.elf .flash.rodata 8 8
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-all-clusters-app.elf and ./pull_artifact/chip-all-clusters-app.elf:

sections,vmsize,filesize
.debug_info,0,513
.debug_loc,0,31
.debug_str,0,16
.flash.rodata,8,8
[Unmapped],0,-8


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants