[FL-2556] Update complete screen (#1332)
* Desktop: slideshow implementation * Updater: handling splashscreen installation; added format version field to slideshow binary * Desktop: added bidirectional slideshow navigation + instant cancel by "back" button; Updater: rebalanced update stages weights * Updater: fixed missing field init; fixed potential loop when baking slideshows * Assets: fixed "update complete" image to match original * Desktop: added check for slideshow file version * Scripts: slideshow.py cleanup * Desktop: removed first start intro sequence * Desktop: removed first start remnants
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
#define MANIFEST_KEY_OB_REFERENCE "OB reference"
|
||||
#define MANIFEST_KEY_OB_MASK "OB mask"
|
||||
#define MANIFEST_KEY_OB_WRITE_MASK "OB write mask"
|
||||
#define MANIFEST_KEY_SPLASH_FILE "Splashscreen"
|
||||
|
||||
UpdateManifest* update_manifest_alloc() {
|
||||
UpdateManifest* update_manifest = malloc(sizeof(UpdateManifest));
|
||||
@@ -25,6 +26,7 @@ UpdateManifest* update_manifest_alloc() {
|
||||
string_init(update_manifest->radio_image);
|
||||
string_init(update_manifest->staged_loader_file);
|
||||
string_init(update_manifest->resource_bundle);
|
||||
string_init(update_manifest->splash_file);
|
||||
update_manifest->target = 0;
|
||||
update_manifest->manifest_version = 0;
|
||||
memset(update_manifest->ob_reference.bytes, 0, FURI_HAL_FLASH_OB_RAW_SIZE_BYTES);
|
||||
@@ -41,6 +43,7 @@ void update_manifest_free(UpdateManifest* update_manifest) {
|
||||
string_clear(update_manifest->radio_image);
|
||||
string_clear(update_manifest->staged_loader_file);
|
||||
string_clear(update_manifest->resource_bundle);
|
||||
string_clear(update_manifest->splash_file);
|
||||
free(update_manifest);
|
||||
}
|
||||
|
||||
@@ -107,6 +110,9 @@ static bool
|
||||
update_manifest->ob_write_mask.bytes,
|
||||
FURI_HAL_FLASH_OB_RAW_SIZE_BYTES);
|
||||
|
||||
flipper_format_read_string(
|
||||
flipper_file, MANIFEST_KEY_SPLASH_FILE, update_manifest->splash_file);
|
||||
|
||||
update_manifest->valid =
|
||||
(!string_empty_p(update_manifest->firmware_dfu_image) ||
|
||||
!string_empty_p(update_manifest->radio_image) ||
|
||||
|
@@ -42,6 +42,7 @@ typedef struct {
|
||||
FuriHalFlashRawOptionByteData ob_reference;
|
||||
FuriHalFlashRawOptionByteData ob_compare_mask;
|
||||
FuriHalFlashRawOptionByteData ob_write_mask;
|
||||
string_t splash_file;
|
||||
bool valid;
|
||||
} UpdateManifest;
|
||||
|
||||
|
Reference in New Issue
Block a user