Parcourir la source

SubGhz: update notification messages (#1602)

* SubGhz: update notification messages

* Assets: update default notification dolphin. SubGhz: update prohibited frequency text.

* FuriHal: finalize version and region link
あく il y a 3 ans
Parent
commit
b3d7583f9b

+ 1 - 1
applications/lfrfid/scene/lfrfid_app_scene_write.cpp

@@ -41,7 +41,7 @@ bool LfRfidAppSceneWrite::on_event(LfRfidApp* app, LfRfidApp::Event* event) {
         case RfidWorker::WriteResult::NotWritable:
         case RfidWorker::WriteResult::NotWritable:
             if(!card_not_supported) {
             if(!card_not_supported) {
                 auto popup = app->view_controller.get<PopupVM>();
                 auto popup = app->view_controller.get<PopupVM>();
-                popup->set_icon(72, 14, &I_DolphinFirstStart8_56x51);
+                popup->set_icon(72, 17, &I_DolphinCommon_56x48);
                 popup->set_header("Still trying to write...", 64, 3, AlignCenter, AlignTop);
                 popup->set_header("Still trying to write...", 64, 3, AlignCenter, AlignTop);
                 popup->set_text(
                 popup->set_text(
                     "Make sure this\ncard is writable\nand not\nprotected.",
                     "Make sure this\ncard is writable\nand not\nprotected.",

+ 1 - 1
applications/nfc/scenes/nfc_scene_mf_ultralight_read_auth.c

@@ -43,7 +43,7 @@ void nfc_scene_mf_ultralight_read_auth_set_state(Nfc* nfc, NfcSceneMfUlReadState
                 22,
                 22,
                 AlignLeft,
                 AlignLeft,
                 AlignTop);
                 AlignTop);
-            popup_set_icon(nfc->popup, 73, 17, &I_DolphinFirstStart8_56x51);
+            popup_set_icon(nfc->popup, 73, 20, &I_DolphinCommon_56x48);
         }
         }
         scene_manager_set_scene_state(nfc->scene_manager, NfcSceneMfUltralightReadAuth, state);
         scene_manager_set_scene_state(nfc->scene_manager, NfcSceneMfUltralightReadAuth, state);
     }
     }

+ 1 - 1
applications/nfc/scenes/nfc_scene_mf_ultralight_unlock_warn.c

@@ -16,7 +16,7 @@ void nfc_scene_mf_ultralight_unlock_warn_on_enter(void* context) {
     dialog_ex_set_header(dialog_ex, "Risky function!", 64, 4, AlignCenter, AlignTop);
     dialog_ex_set_header(dialog_ex, "Risky function!", 64, 4, AlignCenter, AlignTop);
     dialog_ex_set_text(
     dialog_ex_set_text(
         dialog_ex, "Wrong password\ncan block your\ncard.", 4, 18, AlignLeft, AlignTop);
         dialog_ex, "Wrong password\ncan block your\ncard.", 4, 18, AlignLeft, AlignTop);
-    dialog_ex_set_icon(dialog_ex, 73, 17, &I_DolphinFirstStart8_56x51);
+    dialog_ex_set_icon(dialog_ex, 73, 20, &I_DolphinCommon_56x48);
     dialog_ex_set_center_button_text(dialog_ex, "OK");
     dialog_ex_set_center_button_text(dialog_ex, "OK");
 
 
     view_dispatcher_switch_to_view(nfc->view_dispatcher, NfcViewDialogEx);
     view_dispatcher_switch_to_view(nfc->view_dispatcher, NfcViewDialogEx);

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_benchmark.c

@@ -122,7 +122,7 @@ void storage_settings_scene_benchmark_on_enter(void* context) {
     view_dispatcher_switch_to_view(app->view_dispatcher, StorageSettingsViewDialogEx);
     view_dispatcher_switch_to_view(app->view_dispatcher, StorageSettingsViewDialogEx);
 
 
     if(sd_status != FSE_OK) {
     if(sd_status != FSE_OK) {
-        dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+        dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_text(
         dialog_ex_set_text(
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_format_confirm.c

@@ -14,7 +14,7 @@ void storage_settings_scene_format_confirm_on_enter(void* context) {
     FS_Error sd_status = storage_sd_status(app->fs_api);
     FS_Error sd_status = storage_sd_status(app->fs_api);
 
 
     if(sd_status == FSE_NOT_READY) {
     if(sd_status == FSE_NOT_READY) {
-        dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+        dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_text(
         dialog_ex_set_text(
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_formatting.c

@@ -47,7 +47,7 @@ void storage_settings_scene_formatting_on_enter(void* context) {
         dialog_ex_set_text(
         dialog_ex_set_text(
             dialog_ex, storage_error_get_desc(error), 64, 32, AlignCenter, AlignCenter);
             dialog_ex, storage_error_get_desc(error), 64, 32, AlignCenter, AlignCenter);
     } else {
     } else {
-        dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+        dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
         dialog_ex_set_header(dialog_ex, "Format\ncomplete!", 14, 15, AlignLeft, AlignTop);
         dialog_ex_set_header(dialog_ex, "Format\ncomplete!", 14, 15, AlignLeft, AlignTop);
     }
     }
     dialog_ex_set_center_button_text(dialog_ex, "OK");
     dialog_ex_set_center_button_text(dialog_ex, "OK");

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_sd_info.c

@@ -18,7 +18,7 @@ void storage_settings_scene_sd_info_on_enter(void* context) {
     dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_sd_info_dialog_callback);
     dialog_ex_set_result_callback(dialog_ex, storage_settings_scene_sd_info_dialog_callback);
 
 
     if(sd_status != FSE_OK) {
     if(sd_status != FSE_OK) {
-        dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+        dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_text(
         dialog_ex_set_text(
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_unmount_confirm.c

@@ -14,7 +14,7 @@ void storage_settings_scene_unmount_confirm_on_enter(void* context) {
     FS_Error sd_status = storage_sd_status(app->fs_api);
     FS_Error sd_status = storage_sd_status(app->fs_api);
 
 
     if(sd_status == FSE_NOT_READY) {
     if(sd_status == FSE_NOT_READY) {
-        dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+        dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_header(dialog_ex, "SD Card Not Mounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_text(
         dialog_ex_set_text(
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);
             dialog_ex, "Try to reinsert\nor format SD\ncard.", 3, 19, AlignLeft, AlignTop);

+ 1 - 1
applications/storage_settings/scenes/storage_settings_scene_unmounted.c

@@ -13,7 +13,7 @@ void storage_settings_scene_unmounted_on_enter(void* context) {
     DialogEx* dialog_ex = app->dialog_ex;
     DialogEx* dialog_ex = app->dialog_ex;
 
 
     dialog_ex_set_center_button_text(dialog_ex, "OK");
     dialog_ex_set_center_button_text(dialog_ex, "OK");
-    dialog_ex_set_icon(dialog_ex, 72, 14, &I_DolphinFirstStart8_56x51);
+    dialog_ex_set_icon(dialog_ex, 72, 17, &I_DolphinCommon_56x48);
 
 
     if(error == FSE_OK) {
     if(error == FSE_OK) {
         dialog_ex_set_header(dialog_ex, "SD Card Unmounted", 64, 3, AlignCenter, AlignTop);
         dialog_ex_set_header(dialog_ex, "SD Card Unmounted", 64, 3, AlignCenter, AlignTop);

+ 1 - 1
applications/subghz/scenes/subghz_scene_need_saving.c

@@ -16,7 +16,7 @@ void subghz_scene_need_saving_on_enter(void* context) {
     SubGhz* subghz = context;
     SubGhz* subghz = context;
 
 
     widget_add_string_multiline_element(
     widget_add_string_multiline_element(
-        subghz->widget, 64, 13, AlignCenter, AlignCenter, FontPrimary, "Exit to Sub-Ghz menu?");
+        subghz->widget, 64, 13, AlignCenter, AlignCenter, FontPrimary, "Exit to Sub-GHz menu?");
     widget_add_string_multiline_element(
     widget_add_string_multiline_element(
         subghz->widget,
         subghz->widget,
         64,
         64,

+ 1 - 1
applications/subghz/scenes/subghz_scene_receiver_info.c

@@ -102,7 +102,7 @@ void subghz_scene_receiver_info_on_enter(void* context) {
                 subghz);
                 subghz);
         }
         }
     } else {
     } else {
-        widget_add_icon_element(subghz->widget, 32, 12, &I_DolphinFirstStart7_61x51);
+        widget_add_icon_element(subghz->widget, 37, 15, &I_DolphinCommon_56x48);
         widget_add_string_element(
         widget_add_string_element(
             subghz->widget, 13, 8, AlignLeft, AlignBottom, FontSecondary, "Error history parse.");
             subghz->widget, 13, 8, AlignLeft, AlignBottom, FontSecondary, "Error history parse.");
     }
     }

+ 1 - 1
applications/subghz/scenes/subghz_scene_show_error_sub.c

@@ -11,7 +11,7 @@ void subghz_scene_show_error_sub_on_enter(void* context) {
 
 
     // Setup view
     // Setup view
     Popup* popup = subghz->popup;
     Popup* popup = subghz->popup;
-    popup_set_icon(popup, 72, 14, &I_DolphinFirstStart8_56x51);
+    popup_set_icon(popup, 72, 17, &I_DolphinCommon_56x48);
     popup_set_header(popup, string_get_cstr(subghz->error_str), 14, 15, AlignLeft, AlignTop);
     popup_set_header(popup, string_get_cstr(subghz->error_str), 14, 15, AlignLeft, AlignTop);
     popup_set_timeout(popup, 1500);
     popup_set_timeout(popup, 1500);
     popup_set_context(popup, subghz);
     popup_set_context(popup, subghz);

+ 10 - 4
applications/subghz/scenes/subghz_scene_show_only_rx.c

@@ -11,12 +11,18 @@ void subghz_scene_show_only_rx_on_enter(void* context) {
 
 
     // Setup view
     // Setup view
     Popup* popup = subghz->popup;
     Popup* popup = subghz->popup;
-    popup_set_icon(popup, 67, 12, &I_DolphinFirstStart7_61x51);
-    const char* text = "This frequency can\nonly be used for RX\nin your region";
+
+    const char* header_text = "Transmission is blocked";
+    const char* message_text = "Transmission on\nthis frequency is\nrestricted in\nyour region";
     if(!furi_hal_region_is_provisioned()) {
     if(!furi_hal_region_is_provisioned()) {
-        text = "Update Flipper to unlock frequencies allowed in your region";
+        header_text = "Firmware update needed";
+        message_text = "Please update\nfirmware before\nusing this feature\nflipp.dev/upd";
     }
     }
-    popup_set_text(popup, text, 38, 40, AlignCenter, AlignBottom);
+
+    popup_set_header(popup, header_text, 63, 3, AlignCenter, AlignTop);
+    popup_set_text(popup, message_text, 0, 17, AlignLeft, AlignTop);
+    popup_set_icon(popup, 72, 17, &I_DolphinCommon_56x48);
+
     popup_set_timeout(popup, 1500);
     popup_set_timeout(popup, 1500);
     popup_set_context(popup, subghz);
     popup_set_context(popup, subghz);
     popup_set_callback(popup, subghz_scene_show_only_rx_popup_callback);
     popup_set_callback(popup, subghz_scene_show_only_rx_popup_callback);

+ 6 - 0
applications/subghz/subghz.c

@@ -304,6 +304,12 @@ void subghz_free(SubGhz* subghz) {
 int32_t subghz_app(void* p) {
 int32_t subghz_app(void* p) {
     SubGhz* subghz = subghz_alloc();
     SubGhz* subghz = subghz_alloc();
 
 
+    if(!furi_hal_region_is_provisioned()) {
+        subghz_dialog_message_show_only_rx(subghz);
+        subghz_free(subghz);
+        return 1;
+    }
+
     //Load database
     //Load database
     bool load_database = subghz_environment_load_keystore(
     bool load_database = subghz_environment_load_keystore(
         subghz->txrx->environment, EXT_PATH("subghz/assets/keeloq_mfcodes"));
         subghz->txrx->environment, EXT_PATH("subghz/assets/keeloq_mfcodes"));

+ 9 - 9
applications/subghz/subghz_i.c

@@ -219,17 +219,17 @@ void subghz_dialog_message_show_only_rx(SubGhz* subghz) {
     DialogsApp* dialogs = subghz->dialogs;
     DialogsApp* dialogs = subghz->dialogs;
     DialogMessage* message = dialog_message_alloc();
     DialogMessage* message = dialog_message_alloc();
 
 
-    dialog_message_set_header(message, "Transmission is blocked", 63, 3, AlignCenter, AlignTop);
+    const char* header_text = "Transmission is blocked";
+    const char* message_text = "Transmission on\nthis frequency is\nrestricted in\nyour region";
+    if(!furi_hal_region_is_provisioned()) {
+        header_text = "Firmware update needed";
+        message_text = "Please update\nfirmware before\nusing this feature\nflipp.dev/upd";
+    }
 
 
-    dialog_message_set_text(
-        message,
-        "This frequency\nis restricted to\nreceiving only\nin your region.",
-        3,
-        17,
-        AlignLeft,
-        AlignTop);
+    dialog_message_set_header(message, header_text, 63, 3, AlignCenter, AlignTop);
+    dialog_message_set_text(message, message_text, 0, 17, AlignLeft, AlignTop);
 
 
-    dialog_message_set_icon(message, &I_DolphinFirstStart8_56x51, 72, 14);
+    dialog_message_set_icon(message, &I_DolphinCommon_56x48, 72, 17);
 
 
     dialog_message_show(dialogs, message);
     dialog_message_show(dialogs, message);
     dialog_message_free(message);
     dialog_message_free(message);

BIN
assets/icons/Dolphin/DolphinCommon_56x48.png


BIN
assets/icons/Dolphin/DolphinFirstStart7_61x51.png


BIN
assets/icons/Dolphin/DolphinFirstStart8_56x51.png