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
This commit is contained in:
あく 2022-08-16 00:53:08 +09:00 committed by GitHub
parent e1ffb4ac4d
commit b3d7583f9b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 37 additions and 25 deletions

View file

@ -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.",

View file

@ -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);
} }

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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");

View file

@ -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);

View file

@ -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);

View file

@ -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);

View file

@ -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,

View file

@ -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.");
} }

View file

@ -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);

View file

@ -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);

View file

@ -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"));

View file

@ -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( dialog_message_set_header(message, header_text, 63, 3, AlignCenter, AlignTop);
message, dialog_message_set_text(message, message_text, 0, 17, AlignLeft, AlignTop);
"This frequency\nis restricted to\nreceiving only\nin your region.",
3,
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);

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB