Merge branch 'release-candidate' into release
This commit is contained in:
		
						commit
						bf236f5e15
					
				| @ -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.", | ||||||
|  | |||||||
| @ -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); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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"); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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, | ||||||
|  | |||||||
| @ -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."); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
| @ -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")); | ||||||
|  | |||||||
| @ -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); | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								assets/icons/Dolphin/DolphinCommon_56x48.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/icons/Dolphin/DolphinCommon_56x48.png
									
									
									
									
									
										Normal file
									
								
							
										
											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 | 
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aleksandr Kutuzov
						Aleksandr Kutuzov