M*LIB: non-inlined strings, FuriString primitive (#1795)
* Quicksave 1 * Header stage complete * Source stage complete * Lint & merge fixes * Includes * Documentation step 1 * FBT: output free size considering BT STACK * Documentation step 2 * py lint * Fix music player plugin * unit test stage 1: string allocator, mem, getters, setters, appends, compare, search. * unit test: string equality * unit test: string replace * unit test: string start_with, end_with * unit test: string trim * unit test: utf-8 * Rename * Revert fw_size changes * Simplify CLI backspace handling * Simplify CLI character insert * Merge fixes * Furi: correct filenaming and spelling * Bt: remove furi string include Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -18,7 +18,7 @@ struct UpdaterMainView {
|
||||
static const uint8_t PROGRESS_RENDER_STEP = 1; /* percent, to limit rendering rate */
|
||||
|
||||
typedef struct {
|
||||
string_t status;
|
||||
FuriString* status;
|
||||
uint8_t progress, rendered_progress;
|
||||
bool failed;
|
||||
} UpdaterProgressModel;
|
||||
@@ -32,8 +32,8 @@ void updater_main_model_set_state(
|
||||
main_view->view, (UpdaterProgressModel * model) {
|
||||
model->failed = failed;
|
||||
model->progress = progress;
|
||||
if(string_cmp_str(model->status, message)) {
|
||||
string_set(model->status, message);
|
||||
if(furi_string_cmp_str(model->status, message)) {
|
||||
furi_string_set(model->status, message);
|
||||
model->rendered_progress = progress;
|
||||
return true;
|
||||
}
|
||||
@@ -80,7 +80,7 @@ static void updater_main_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas_draw_str_aligned(canvas, 42, 16, AlignLeft, AlignTop, "Update Failed!");
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 42, 32, AlignLeft, AlignTop, string_get_cstr(model->status));
|
||||
canvas, 42, 32, AlignLeft, AlignTop, furi_string_get_cstr(model->status));
|
||||
|
||||
canvas_draw_icon(canvas, 7, 16, &I_Warning_30x23);
|
||||
canvas_draw_str_aligned(
|
||||
@@ -91,7 +91,7 @@ static void updater_main_draw_callback(Canvas* canvas, void* _model) {
|
||||
canvas_draw_str_aligned(canvas, 55, 14, AlignLeft, AlignTop, "UPDATING");
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str_aligned(
|
||||
canvas, 64, 51, AlignCenter, AlignTop, string_get_cstr(model->status));
|
||||
canvas, 64, 51, AlignCenter, AlignTop, furi_string_get_cstr(model->status));
|
||||
canvas_draw_icon(canvas, 4, 5, &I_Updating_32x40);
|
||||
elements_progress_bar(canvas, 42, 29, 80, (float)model->progress / 100);
|
||||
}
|
||||
@@ -105,7 +105,7 @@ UpdaterMainView* updater_main_alloc() {
|
||||
|
||||
with_view_model(
|
||||
main_view->view, (UpdaterProgressModel * model) {
|
||||
string_init_set(model->status, "Waiting for SD card");
|
||||
model->status = furi_string_alloc_set("Waiting for SD card");
|
||||
return true;
|
||||
});
|
||||
|
||||
@@ -120,7 +120,7 @@ void updater_main_free(UpdaterMainView* main_view) {
|
||||
furi_assert(main_view);
|
||||
with_view_model(
|
||||
main_view->view, (UpdaterProgressModel * model) {
|
||||
string_clear(model->status);
|
||||
furi_string_free(model->status);
|
||||
return false;
|
||||
});
|
||||
view_free(main_view->view);
|
||||
|
Reference in New Issue
Block a user