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

HID app: added latest changes + movie and PTT #3223

Closed
wants to merge 35 commits into from

Conversation

hryamzik
Copy link

@hryamzik hryamzik commented Nov 16, 2023

What's new

HID app

  • feature: added mouse acceleration by @LeeroysHub and @Willy-JL
  • bugfix: improved icons and views by @krolchonok
  • feature: youtube shorts support @xMasterX
  • feature: movie menu, similar to media one but instead of skipping to next/previous does fast forward/backward action
  • bugfix: Updated skip forward/backwards icons in media menu from <</>> to |<</>>|, meets this article
  • bugfix: Decreased mouse movements in mouse jigger to 1 pixel
  • feature: simplified exit from some views
  • feature: added PTT view for Google Meet, Zoom, Skype and FaceTime. Failed to use back button for PTT as it restarts device in ≈20 seconds. :trollface:
  • feature: removed exit confirmation dialog
  • bugfix: implemented "Hold back to exit" for all the menus (except PTT)
PushToTalk Menu PushToTalk main view
Screenshot-20231127-015626
Screenshot-20231127-015635
Screenshot-20231127-015829

Verification

  • Build with latest dev and deployed to my flipper zero device

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

@hryamzik hryamzik marked this pull request as ready for review November 16, 2023 17:37
@hedger
Copy link
Member

hedger commented Nov 16, 2023

I think that with that many changes it's better to submit this app to the app catalog.

@hryamzik
Copy link
Author

hryamzik commented Nov 16, 2023

@xMasterX might agree to store it in his catalog however I can't move some changes from this repo as they don't compile with a firmware that I can't name here.

Here's the diff:

+++ b/base_pack/hid_app/hid.c
@@ -3,0 +4 @@
+#include <dolphin/dolphin.h>
@@ -316 +317 @@ void hid_hal_keyboard_press(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -327 +328 @@ void hid_hal_keyboard_release(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -338 +339 @@ void hid_hal_keyboard_release_all(Hid* instance) {
-        furi_crash(NULL);
+        furi_crash();
@@ -349 +350 @@ void hid_hal_consumer_key_press(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -360 +361 @@ void hid_hal_consumer_key_release(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -371 +372 @@ void hid_hal_consumer_key_release_all(Hid* instance) {
-        furi_crash(NULL);
+        furi_crash();
@@ -382 +383 @@ void hid_hal_mouse_move(Hid* instance, int8_t dx, int8_t dy) {
-        furi_crash(NULL);
+        furi_crash();
@@ -393 +394 @@ void hid_hal_mouse_scroll(Hid* instance, int8_t delta) {
-        furi_crash(NULL);
+        furi_crash();
@@ -404 +405 @@ void hid_hal_mouse_press(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -415 +416 @@ void hid_hal_mouse_release(Hid* instance, uint16_t event) {
-        furi_crash(NULL);
+        furi_crash();
@@ -427 +428 @@ void hid_hal_mouse_release_all(Hid* instance) {
-        furi_crash(NULL);
+        furi_crash();
@@ -440,0 +442,2 @@ int32_t hid_usb_app(void* p) {
+    dolphin_deed(DolphinDeedPluginStart);
+
@@ -472,3 +475 @@ int32_t hid_ble_app(void* p) {
-    if(!bt_set_profile(app->bt, BtProfileHidKeyboard)) {
-        FURI_LOG_E(TAG, "Failed to switch to HID profile");
-    }
+    furi_check(bt_set_profile(app->bt, BtProfileHidKeyboard));
@@ -478,0 +480,2 @@ int32_t hid_ble_app(void* p) {
+    dolphin_deed(DolphinDeedPluginStart);
+
@@ -490,3 +493 @@ int32_t hid_ble_app(void* p) {
-    if(!bt_set_profile(app->bt, BtProfileSerial)) {
-        FURI_LOG_E(TAG, "Failed to switch to Serial profile");
-    }
+    furi_check(bt_set_profile(app->bt, BtProfileSerial));

@hryamzik
Copy link
Author

Oh it works with latest dev there, so could be an option.

@hryamzik hryamzik force-pushed the hid-keyboard branch 2 times, most recently from 4a2a326 to 9334762 Compare November 17, 2023 02:34
@hryamzik
Copy link
Author

As discussed in telegram this UI doesn't meet UX guidelines and app should be distributed separately.

I don't think it's a good idea to have 2 versions of a single app in two repos, it took me quite some time to bring it up to date here. However that's the flipper way.

@hryamzik hryamzik closed this Nov 17, 2023
@hryamzik
Copy link
Author

Moving to draft to update UI

@hryamzik hryamzik reopened this Nov 17, 2023
@hryamzik hryamzik marked this pull request as draft November 17, 2023 18:58
@hryamzik hryamzik force-pushed the hid-keyboard branch 5 times, most recently from b2a5def to dc592e0 Compare November 28, 2023 01:28
* Unit tests: add "exists" to furi_record tests
* Unit tests: mu_warn, storage 64k test
* Storage: read/write over 64k
* Unit tests: moar tests for storage r/w for >64k cases
* Apps, libs: replace uint16_t with size_t on storage r/w operations
* Unit tests: better data pattern, subghz: warning if transmission is prohibited

Co-authored-by: あく <[email protected]>
@hryamzik hryamzik marked this pull request as ready for review November 28, 2023 12:02
@hryamzik
Copy link
Author

PushToTalk view was redesigned, waiting to be reviewed now.

@skotopes
Copy link
Member

skotopes commented Dec 4, 2023

@hryamzik that is some serious amount of work ;-)

Are you sure that you don't want to make fork and submit it to application catalog?

Firmware release cycle is quite cumbersome thing and we also plan to take slower pace after we release 1.0. Also this app originally was not intended to be bundled with firmware, we were planning to move it to catalog, but our marketing team explicitly requested not to do that.

If you insist on merging this PR, we'll have to go throw UI/UX team first. Anyway, let me know what you think and we'll figure out next steps.

@hryamzik
Copy link
Author

hryamzik commented Dec 4, 2023

we were planning to move it to catalog, but our marketing team explicitly requested not to do that

If the app stays in firmware I'd avoid maintaining 2 codebases. I think having a stock app and another slightly different version of it in the catalog is confusing. And passing UI/UX team review makes a lot of sense!

@hryamzik
Copy link
Author

hryamzik commented Dec 4, 2023

Resolved conflicts with #3236 and #3237

This PR had some icons changes made by @krolchonok but I don't have any opinion here, here's the difference example.

Also CC'ing @Astrrra as she was making the recent changes in dev.

UPD: and new changes are coming in #3263

@hedger hedger added the Applications Non-core applications label Dec 24, 2023
@skotopes skotopes closed this Mar 25, 2024
@hryamzik
Copy link
Author

nice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Applications Non-core applications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants