Commit Graph

15 Commits

Author SHA1 Message Date
DevTekVE cac8527115 sunnylink: pairing and sponsorship (#523)
* Refactor sunnylink panel code for clarity and initialization fixes.

Replaced explicit pointer types with `auto` for cleaner code and added proper initialization for the `offroad` boolean member. Simplified toggle logic by consolidating description updates for enabling/disabling sunnylink. These changes improve code readability and maintainability.

* Add Sunnylink sponsor and GitHub pairing functionality

This update introduces a feature to manage sponsorship-based roles and GitHub account pairing for Sunnylink. It includes new sponsor popups, sponsor-specific widgets, QR code logic, and backend API integrations. Additionally, new models and services support sponsor tier management and user-role synchronization.

* Translation files

* Param keys

* Add setup functions for SunnyLink sponsor and pair buttons

Introduce `setup_settings_sunnylink_sponsor_button` and `setup_settings_sunnylink_pair_button` to handle specific SunnyLink UI interactions. These functions streamline button clicks for sponsor and pairing actions within SunnyLink settings.

* Add new SunnyLink test cases for sponsor and pair buttons

Added `settings_sunnylink_sponsor_button` and `settings_sunnylink_pair_button` to the UI test case dictionary. This extends the SunnyLink test coverage to include sponsor and pairing functionalities.

* No need to import sunnylink from here, and it causes just circular dependency

* Enhance SunnylinkPanel functionality in off-road settings

This commit enhances the functionality of the SunnylinkPanel in the off-road settings of the SunnyPilot user interface. A paramWatcher is added to the SunnylinkPanel to observe "SunnylinkEnabled" parameter changes. Update functionalities are enhanced to handle showing and hiding of components based on various circumstances, such as whether the system is 'on-road' or 'off-road', and whether Sunnylink is enabled or not. The stopSunnylink and startSunnylink functions were also added to start or stop processes accordingly when Sunnylink is enabled or disabled. Additionally, the ui.h file is updated to efficiently handle Sunnylink roles and device users.

* Refactor SunnylinkPanel initialization and handling.

Reorganized SunnylinkPanel to improve structure and clarity by separating sunnylink client initialization and list widget setup. Enabled automatic sunnylink startup when the feature is enabled. Added minor formatting fixes for label display consistency.

* Add missing include for <optional> in ui.h

Including <optional> ensures compatibility with standard C++ features and prevents potential compilation errors. This addition aligns with best practices for maintaining robust and clean code.

* Updated setup_settings_sunnylink_sponsor_button and setup_settings_sunnylink_pair_button function signatures

Added an optional 'scroll' parameter to the setup_settings_sunnylink_sponsor_button and setup_settings_sunnylink_pair_button functions in the test_ui module. The modifications were made to allow for more flexible function usage by potentially enabling scroll operations during the execution of these UI setup steps.

* Enable Sunnylink initialization on panel show event

Begin Sunnylink connection automatically when the panel is displayed, ensuring the feature is active if enabled. Additionally, update the sponsor button text formatting for more concise styling.

* Translations

* Added checks for new UI files in PRs

The git workflow script `ui_preview.yaml` has been modified. The script now checks if the master branch contains a file corresponding to a UI file present in the PR. If a UI file in the PR does not have a match on the master branch, it is marked as new. These enhancements improve the comparison of UI changes between the master and PR branches, particularly with the identification of new UI files.

* cleanup

* duh

---------

Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
2025-03-16 16:22:14 -04:00
Adeeb Shihadeh f4675fc260 Merge common/ and selfdrive/common (#24556)
* Merge common/ and selfdrive/common

* fix that

* fix version

* fix unit tests
old-commit-hash: cb8885cffb313bea258c012c3026461a22bf8135
2022-05-18 14:11:57 -07:00
Willem Melching 619b88c1f4 api.cc: expose error type in requestDone signal (#24064)
* put error in requestDone

* only check in tools
old-commit-hash: 34a8a5ea76d05432ee24f5d2a2307b74ad755971
2022-03-30 12:12:33 +02:00
Dean Lee db022f7816 ui: singleton networkAccessManager (#22994)
old-commit-hash: b2bcacf590f0206f7b608c4cc48afe61393dd007
2021-11-29 14:49:53 +01:00
Dean Lee 67c748d62a refactor httprequest: emit single signals (#23039)
* refactor httprequest

* Trigger Build
old-commit-hash: 3fd02649601856b2780168d36c49940ff49f4de2
2021-11-29 11:19:08 +01:00
Dean Lee 7c3ae2dadd BASE_URL: use util::getenv (#21894)
old-commit-hash: 62d34ed4e5f372f5ed457b4b20b76799272b8776
2021-08-10 11:15:09 -07:00
Dean Lee ceb40d8384 api: use API_HOST env variable everywhere (#21814)
* api base url to global constant

* update api/__init__.py
old-commit-hash: 543e019f715a7e485c7402d1e145dc8e81d43611
2021-08-03 13:49:49 +02:00
Willem Melching 380a3e1923 nav: Send DELETE to clear next destination on server (#21746)
old-commit-hash: 34bb5b935fd3c2bb481129cb4bc27ce646c24f12
2021-07-28 11:02:32 +02:00
Dean Lee 9d12eb4d3a HttpRequest: don't send request in ctor (#21665)
old-commit-hash: c24227c3abb9bfd371c89845c75b7104d0862fb2
2021-07-25 15:36:04 -07:00
Adeeb Shihadeh 65002c7b53 setup improvements (#21505)
* getting started

* downloading

* some more

* nice checkmark

* nice triangle

* fixup style

* wait for internet

* more responsive

* waiting for internet
old-commit-hash: ddd1342fc548a7a6cc1bdc007eb9d91d9336deb0
2021-07-15 16:47:18 -07:00
Dean Lee 701ee27c91 HttpRequest: move http cache to RequestRepeater (#21228)
* move cache from HttpRequest to RequestRepeater

* apply review
old-commit-hash: 9ebfc2ba8df7dcde5c6ea6be3b61d8577d89d652
2021-06-18 23:47:23 -07:00
Dean Lee 775ed1428f CommaApi: class to namespace (#21329)
old-commit-hash: 85f134da6a1e96e1d4b2e70669cab120f000c2bd
2021-06-18 15:01:56 -07:00
Dean Lee 1256dbb6c3 qt/api.cc: refactor create_jwt (#21281)
* refactor

* cleanup includes
old-commit-hash: de56de78c81116c77b0a8ac3c85ed31f16e9aa6f
2021-06-15 22:35:23 -07:00
Dean Lee e333e4f189 Cleanup selfdrive/ includes (#20822)
* cleanup include path

* continue

* format includes

* fix testraw.cc

* remove include path from SConstruct

* regroup

* rebase master

* almost done

* apply review

* rename FileReader.xx to filereader.xx

* rename Unlogger.x->unlogger.x

* rename FrameReader.xx -> framereader.xx

* apply reviews

* ui.h

* continue

* fix framebuffer.cc build error:mv util.h up

* full path to msm_media_info

* fix qcom2 camerad

Co-authored-by: Comma Device <device@comma.ai>
old-commit-hash: 7222d0f20dc8edfe0d2f3417d1ce7c84fbd32805
2021-05-08 22:15:17 -07:00
Dean Lee 9a827fea20 c++ cleanup: standardize file extensions to .cc and .h (#20800)
* c++ cleanup: standardize file extensions to .cc and .h

* cleanup files_common
old-commit-hash: 81491dc57f5080c602a0be58dd5f9feba2fa31b9
2021-05-03 11:53:11 +02:00