Journal

Weekly progress timeline for JianDe's GSoC 2026 AGL Bluetooth Integration project.

Use this timeline to track weekly GSoC progress, evidence captured from the target image, and upcoming deliverables. The journal is intentionally practical: each entry should connect project decisions to commands, logs, or code that can be reviewed later.

Schedule

Evaluation milestones#

The midterm evaluation window is August 11, 2026 through August 15, 2026. The deadline is August 15, 2026 at 2:00 AM.

Aug 11-15, 2026

Contributor Midterm Evaluation

Upcoming midterm evaluation for the GSoC 2026 contributor.

Aug 11-15, 2026

Mentor Midterm Evaluation

Upcoming mentor evaluation for the same midterm window.

Bonding period

Reviewed the AGL Bluetooth project scope, studied the BlueZ and PipeWire direction, and prepared the documentation structure for the coding period.

Week 1

Initialized the bluez_media_native Flutter FFI plugin, generated native C++ D-Bus proxy interfaces, and pivoted focus to A2DP/AVRCP integration.

Week 2

Established C++/Dart FFI bridge, integrated glaze_meta.h binary serialization, implemented player controls (play, pause, stop, next, previous, repeat, shuffle), remote volume controller input, and AVRCP browsing.

Week 3

Integrated the Bluetooth settings entry point, device scanning flow, connection state, saved devices, and device details view in ivi-homescreen.

Week 4

Completed the Bluetooth connection flow in `ivi-homescreen`, including paired-device management, discovery, pairing, switching, disconnection, and device removal.

Week 5

Cleaned up the Bluetooth settings code for merge request review, verified the pairing flow on Raspberry Pi 5, and analyzed the BlueZ D-Bus signals used by scan, pairing, connection, and disconnection.

Week 6

Submitted the Bluetooth pairing and connection Gerrit change, reviewed native crash feedback in `bluez_native`, and shaped the next work around safer D-Bus callback lifetimes plus BlueZ media metadata/control support.

Week 7

Created the AGL Jira issue, removed package changes from the homescreen Gerrit review, traced the native Bluetooth crash to a toolchain and ABI mismatch, and opened a focused PR for setTrusted, Pairable, and Discoverable support.

Week 8

Tested the BlueZ Bluetooth stack and recorded the validation notes for review.

Week 9

This journal entry is upcoming and will be updated as the week's implementation notes and validation evidence are ready.

Week 10

Updated the Bluetooth pairing Gerrit review to use the published `bluez_native 0.3.1` package, added Flutter SDK compatibility overrides, summarized mentor review notes, and clarified the post-midterm GSoC goal order: audio player, phone, contacts, then stretch message support.

Week 11

Implemented and tested native BlueZ media support for Dart and Flutter, including playback controls, metadata, media browsing, and cover art.

Week 12

Integrated Bluetooth media metadata, playback controls, phone volume, and direct AVRCP cover-art retrieval into the AGL homescreen.

Week 13

Uploaded patch set 6 for the Bluetooth pairing and connection workflow, documented runtime sequences, and prepared BlueZ crash verification.

Week 14

Tested the BlueZ MediaItem player patch series and hardened OBEX cover-art retrieval in `bluez_media_native`, integrated it into `flutter-ics-homescreen`, and validated initial HFP telephony through PipeWire on Raspberry Pi 5.

Week 15

Merged the Bluetooth pairing UI and bluez_native support, reviewed AGL's new native Flutter plugin build class, and documented the PipeWire native-HFP D-Bus call-control path.

Week 16

Prepared bluez_media_native for release to pub.dev and documented the pending AGL ownership decision.

Week 17

Submitted Bluetooth media playback support for the homescreen, enabled OBEX and experimental BlueZ support in Yocto, and included the MediaItem fix patch series.

Week 18

Published the updated bluez_media_native package to pub.dev and verified it against the Yocto master with cover-art instructions.

Week 19

Completed pipewire_telephony_native development and AGL Raspberry Pi 5 testing.

Week 20

Completed bluez_obex_native development and AGL Raspberry Pi 5 testing.

Week 21

Integrated HFP calling and phone contacts into Flutter and fully tested the call, contact, and message flows on AGL Raspberry Pi 5 hardware.

Week 22

Continue refining HFP calling and phone-contact integration in flutter-ics-homescreen and prepare the remaining telephony and phone-book work for review.

Setup Bluetooth connect and pairing UI

Run the GAP and A2DP checklists on hardware, capture BlueZ and PipeWire logs, and refine plugin-facing assumptions from real target behavior.

Bluetooth Media Player

Implement Bluetooth media playback controls, metadata display, and media state handling through BlueZ and the native Flutter integration.

Midterm and final reports

Publish milestone reports after implementation evidence, validation logs, architecture notes, and mentor feedback are ready.