mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 16:58:36 -07:00
Format
This commit is contained in:
@@ -89,7 +89,8 @@ bool desktop_scene_locked_on_event(void* context, SceneManagerEvent event) {
|
||||
break;
|
||||
case DesktopLockedEventUpdate:
|
||||
if(desktop_view_locked_is_locked_hint_visible(desktop->locked_view)) {
|
||||
notification_message(desktop->notification, &sequence_display_backlight_off_delay_1000);
|
||||
notification_message(
|
||||
desktop->notification, &sequence_display_backlight_off_delay_1000);
|
||||
}
|
||||
desktop_view_locked_update(desktop->locked_view);
|
||||
consumed = true;
|
||||
|
||||
@@ -79,7 +79,8 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
||||
} else {
|
||||
bool pm = datetime.hour > 12;
|
||||
bool pm12 = datetime.hour >= 12;
|
||||
snprintf(time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
||||
snprintf(
|
||||
time_str, 9, "%.2d:%.2d", pm ? datetime.hour - 12 : datetime.hour, datetime.minute);
|
||||
snprintf(meridian_str, 3, pm12 ? "PM" : "AM");
|
||||
}
|
||||
|
||||
@@ -106,13 +107,16 @@ void desktop_view_locked_draw_lockscreen(Canvas* canvas, void* m) {
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
canvas_draw_str(canvas, 0, 48 + y + 16 * !xtreme_settings->lockscreen_time, date_str);
|
||||
}
|
||||
if(model->view_state == DesktopViewLockedStateLockedHintShown && xtreme_settings->lockscreen_prompt) {
|
||||
if(model->view_state == DesktopViewLockedStateLockedHintShown &&
|
||||
xtreme_settings->lockscreen_prompt) {
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
if(model->pin_locked) {
|
||||
elements_bubble_str(canvas, 12, 14 + y, " Press \nto unlock!", AlignRight, AlignBottom);
|
||||
elements_bubble_str(
|
||||
canvas, 12, 14 + y, " Press \nto unlock!", AlignRight, AlignBottom);
|
||||
canvas_draw_icon(canvas, 45, 16 + y, &I_Pin_arrow_up_7x9);
|
||||
} else {
|
||||
elements_bubble_str(canvas, 2, 14 + y, "Press 3x \n to unlock!", AlignRight, AlignBottom);
|
||||
elements_bubble_str(
|
||||
canvas, 2, 14 + y, "Press 3x \n to unlock!", AlignRight, AlignBottom);
|
||||
canvas_draw_icon(canvas, 43, 17 + y, &I_Pin_back_arrow_10x8);
|
||||
}
|
||||
}
|
||||
@@ -122,12 +126,14 @@ static bool desktop_view_locked_cover_move(DesktopViewLockedModel* model, bool d
|
||||
bool stop = false;
|
||||
if(down) {
|
||||
if(model->cover_offset < COVER_OFFSET_END) {
|
||||
model->cover_offset = CLAMP(model->cover_offset + 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||
model->cover_offset =
|
||||
CLAMP(model->cover_offset + 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||
stop = true;
|
||||
}
|
||||
} else {
|
||||
if(model->cover_offset > COVER_OFFSET_START) {
|
||||
model->cover_offset = CLAMP(model->cover_offset - 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||
model->cover_offset =
|
||||
CLAMP(model->cover_offset - 8, COVER_OFFSET_END, COVER_OFFSET_START);
|
||||
stop = true;
|
||||
}
|
||||
}
|
||||
@@ -152,10 +158,12 @@ void desktop_view_locked_update(DesktopViewLocked* locked_view) {
|
||||
if(view_state == DesktopViewLockedStateCoverClosing &&
|
||||
!desktop_view_locked_cover_move(model, true)) {
|
||||
model->view_state = DesktopViewLockedStateLocked;
|
||||
} else if(view_state == DesktopViewLockedStateCoverOpening &&
|
||||
!desktop_view_locked_cover_move(model, false)) {
|
||||
} else if(
|
||||
view_state == DesktopViewLockedStateCoverOpening &&
|
||||
!desktop_view_locked_cover_move(model, false)) {
|
||||
model->view_state = DesktopViewLockedStateUnlocked;
|
||||
xTimerChangePeriod(locked_view->timer, pdMS_TO_TICKS(UNLOCKED_HINT_TIMEOUT_MS), portMAX_DELAY);
|
||||
xTimerChangePeriod(
|
||||
locked_view->timer, pdMS_TO_TICKS(UNLOCKED_HINT_TIMEOUT_MS), portMAX_DELAY);
|
||||
} else if(view_state == DesktopViewLockedStateLockedHintShown) {
|
||||
model->view_state = DesktopViewLockedStateLocked;
|
||||
} else if(view_state == DesktopViewLockedStateUnlockedHintShown) {
|
||||
@@ -164,7 +172,8 @@ void desktop_view_locked_update(DesktopViewLocked* locked_view) {
|
||||
|
||||
view_commit_model(locked_view->view, true);
|
||||
|
||||
if(view_state != DesktopViewLockedStateCoverClosing && view_state != DesktopViewLockedStateCoverOpening) {
|
||||
if(view_state != DesktopViewLockedStateCoverClosing &&
|
||||
view_state != DesktopViewLockedStateCoverOpening) {
|
||||
xTimerStop(locked_view->timer, portMAX_DELAY);
|
||||
}
|
||||
}
|
||||
@@ -175,9 +184,9 @@ static void desktop_view_locked_draw(Canvas* canvas, void* model) {
|
||||
canvas_set_color(canvas, ColorBlack);
|
||||
|
||||
if(view_state == DesktopViewLockedStateLocked ||
|
||||
view_state == DesktopViewLockedStateLockedHintShown ||
|
||||
view_state == DesktopViewLockedStateCoverClosing ||
|
||||
view_state == DesktopViewLockedStateCoverOpening) {
|
||||
view_state == DesktopViewLockedStateLockedHintShown ||
|
||||
view_state == DesktopViewLockedStateCoverClosing ||
|
||||
view_state == DesktopViewLockedStateCoverOpening) {
|
||||
desktop_view_locked_draw_lockscreen(canvas, m);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -622,8 +622,9 @@ void elements_scrollable_text_line(
|
||||
}
|
||||
}
|
||||
|
||||
if (centered) {
|
||||
canvas_draw_str_aligned(canvas, x, y, AlignCenter, AlignBottom, furi_string_get_cstr(line));
|
||||
if(centered) {
|
||||
canvas_draw_str_aligned(
|
||||
canvas, x, y, AlignCenter, AlignBottom, furi_string_get_cstr(line));
|
||||
} else {
|
||||
canvas_draw_str(canvas, x, y, furi_string_get_cstr(line));
|
||||
}
|
||||
|
||||
@@ -78,7 +78,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
||||
}
|
||||
item = MenuItemArray_get(model->items, item_i);
|
||||
if(item->icon) {
|
||||
canvas_draw_icon_animation(canvas, (40 - item->icon->icon->width) / 2 + x_off, (20 - item->icon->icon->height) / 2 + y_off, item->icon);
|
||||
canvas_draw_icon_animation(
|
||||
canvas,
|
||||
(40 - item->icon->icon->width) / 2 + x_off,
|
||||
(20 - item->icon->icon->height) / 2 + y_off,
|
||||
item->icon);
|
||||
}
|
||||
furi_string_set(name, item->label);
|
||||
if(furi_string_start_with_str(name, "[")) {
|
||||
@@ -88,14 +92,7 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
||||
}
|
||||
}
|
||||
elements_scrollable_text_line(
|
||||
canvas,
|
||||
20 + x_off,
|
||||
26 + y_off,
|
||||
36,
|
||||
name,
|
||||
scroll_counter,
|
||||
false,
|
||||
true);
|
||||
canvas, 20 + x_off, 26 + y_off, 36, name, scroll_counter, false, true);
|
||||
if(item_i == position) {
|
||||
canvas_set_color(canvas, ColorBlack);
|
||||
} else {
|
||||
@@ -108,7 +105,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
||||
shift_position = (0 + position + items_count - 1) % items_count;
|
||||
item = MenuItemArray_get(model->items, shift_position);
|
||||
if(item->icon) {
|
||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 3 + (14 - item->icon->icon->height) / 2, item->icon);
|
||||
canvas_draw_icon_animation(
|
||||
canvas,
|
||||
4 + (14 - item->icon->icon->width) / 2,
|
||||
3 + (14 - item->icon->icon->height) / 2,
|
||||
item->icon);
|
||||
}
|
||||
canvas_draw_str(canvas, 22, 14, item->label);
|
||||
// Second line main
|
||||
@@ -116,7 +117,11 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
||||
shift_position = (1 + position + items_count - 1) % items_count;
|
||||
item = MenuItemArray_get(model->items, shift_position);
|
||||
if(item->icon) {
|
||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 25 + (14 - item->icon->icon->height) / 2, item->icon);
|
||||
canvas_draw_icon_animation(
|
||||
canvas,
|
||||
4 + (14 - item->icon->icon->width) / 2,
|
||||
25 + (14 - item->icon->icon->height) / 2,
|
||||
item->icon);
|
||||
}
|
||||
size_t scroll_counter = model->scroll_counter;
|
||||
if(scroll_counter < 1) {
|
||||
@@ -125,21 +130,17 @@ static void menu_draw_callback(Canvas* canvas, void* _model) {
|
||||
scroll_counter -= 1;
|
||||
}
|
||||
furi_string_set(name, item->label);
|
||||
elements_scrollable_text_line(
|
||||
canvas,
|
||||
22,
|
||||
36,
|
||||
98,
|
||||
name,
|
||||
scroll_counter,
|
||||
false,
|
||||
false);
|
||||
elements_scrollable_text_line(canvas, 22, 36, 98, name, scroll_counter, false, false);
|
||||
// Third line
|
||||
canvas_set_font(canvas, FontSecondary);
|
||||
shift_position = (2 + position + items_count - 1) % items_count;
|
||||
item = MenuItemArray_get(model->items, shift_position);
|
||||
if(item->icon) {
|
||||
canvas_draw_icon_animation(canvas, 4 + (14 - item->icon->icon->width) / 2, 47 + (14 - item->icon->icon->height) / 2, item->icon);
|
||||
canvas_draw_icon_animation(
|
||||
canvas,
|
||||
4 + (14 - item->icon->icon->width) / 2,
|
||||
47 + (14 - item->icon->icon->height) / 2,
|
||||
item->icon);
|
||||
}
|
||||
canvas_draw_str(canvas, 22, 58, item->label);
|
||||
// Frame and scrollbar
|
||||
@@ -159,49 +160,49 @@ static bool menu_input_callback(InputEvent* event, void* context) {
|
||||
|
||||
if(event->type == InputTypeShort) {
|
||||
switch(event->key) {
|
||||
case InputKeyUp:
|
||||
consumed = true;
|
||||
menu_process_up(menu);
|
||||
break;
|
||||
case InputKeyDown:
|
||||
consumed = true;
|
||||
menu_process_down(menu);
|
||||
break;
|
||||
case InputKeyLeft:
|
||||
consumed = true;
|
||||
menu_process_left(menu);
|
||||
break;
|
||||
case InputKeyRight:
|
||||
consumed = true;
|
||||
menu_process_right(menu);
|
||||
break;
|
||||
case InputKeyOk:
|
||||
consumed = true;
|
||||
menu_process_ok(menu);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case InputKeyUp:
|
||||
consumed = true;
|
||||
menu_process_up(menu);
|
||||
break;
|
||||
case InputKeyDown:
|
||||
consumed = true;
|
||||
menu_process_down(menu);
|
||||
break;
|
||||
case InputKeyLeft:
|
||||
consumed = true;
|
||||
menu_process_left(menu);
|
||||
break;
|
||||
case InputKeyRight:
|
||||
consumed = true;
|
||||
menu_process_right(menu);
|
||||
break;
|
||||
case InputKeyOk:
|
||||
consumed = true;
|
||||
menu_process_ok(menu);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else if(event->type == InputTypeRepeat) {
|
||||
switch(event->key) {
|
||||
case InputKeyUp:
|
||||
consumed = true;
|
||||
menu_process_up(menu);
|
||||
break;
|
||||
case InputKeyDown:
|
||||
consumed = true;
|
||||
menu_process_down(menu);
|
||||
break;
|
||||
case InputKeyLeft:
|
||||
consumed = true;
|
||||
menu_process_left(menu);
|
||||
break;
|
||||
case InputKeyRight:
|
||||
consumed = true;
|
||||
menu_process_right(menu);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case InputKeyUp:
|
||||
consumed = true;
|
||||
menu_process_up(menu);
|
||||
break;
|
||||
case InputKeyDown:
|
||||
consumed = true;
|
||||
menu_process_down(menu);
|
||||
break;
|
||||
case InputKeyLeft:
|
||||
consumed = true;
|
||||
menu_process_left(menu);
|
||||
break;
|
||||
case InputKeyRight:
|
||||
consumed = true;
|
||||
menu_process_right(menu);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,8 +256,7 @@ Menu* menu_alloc() {
|
||||
view_set_enter_callback(menu->view, menu_enter);
|
||||
view_set_exit_callback(menu->view, menu_exit);
|
||||
|
||||
menu->scroll_timer =
|
||||
furi_timer_alloc(menu_scroll_timer_callback, FuriTimerTypePeriodic, menu);
|
||||
menu->scroll_timer = furi_timer_alloc(menu_scroll_timer_callback, FuriTimerTypePeriodic, menu);
|
||||
|
||||
with_view_model(
|
||||
menu->view,
|
||||
@@ -458,7 +458,7 @@ static void menu_process_right(Menu* menu) {
|
||||
if(model->position == count - 1) {
|
||||
model->position = 0;
|
||||
} else if(model->position == count - 2) {
|
||||
model->position = count -1;
|
||||
model->position = count - 1;
|
||||
} else {
|
||||
model->position += 2;
|
||||
}
|
||||
|
||||
@@ -177,7 +177,10 @@ static bool variable_item_list_input_callback(InputEvent* event, void* context)
|
||||
if((!(event->type == InputTypePress) && !(event->type == InputTypeRelease)) &&
|
||||
locked_message_visible) {
|
||||
with_view_model(
|
||||
variable_item_list->view, VariableItemListModel * model, { model->locked_message_visible = false; }, true);
|
||||
variable_item_list->view,
|
||||
VariableItemListModel * model,
|
||||
{ model->locked_message_visible = false; },
|
||||
true);
|
||||
consumed = true;
|
||||
} else if(event->type == InputTypeShort) {
|
||||
switch(event->key) {
|
||||
@@ -301,7 +304,8 @@ void variable_item_list_process_left(VariableItemList* variable_item_list) {
|
||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||
if(item->locked) {
|
||||
model->locked_message_visible = true;
|
||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
furi_timer_start(
|
||||
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
} else if(item->current_value_index > 0) {
|
||||
item->current_value_index--;
|
||||
model->scroll_counter = 0;
|
||||
@@ -321,7 +325,8 @@ void variable_item_list_process_right(VariableItemList* variable_item_list) {
|
||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||
if(item->locked) {
|
||||
model->locked_message_visible = true;
|
||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
furi_timer_start(
|
||||
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
} else if(item->current_value_index < (item->values_count - 1)) {
|
||||
item->current_value_index++;
|
||||
model->scroll_counter = 0;
|
||||
@@ -341,7 +346,8 @@ void variable_item_list_process_ok(VariableItemList* variable_item_list) {
|
||||
VariableItem* item = variable_item_list_get_selected_item(model);
|
||||
if(item->locked) {
|
||||
model->locked_message_visible = true;
|
||||
furi_timer_start(variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
furi_timer_start(
|
||||
variable_item_list->locked_timer, furi_kernel_get_tick_frequency() * 3);
|
||||
} else if(variable_item_list->callback) {
|
||||
variable_item_list->callback(variable_item_list->context, model->position);
|
||||
}
|
||||
@@ -352,7 +358,10 @@ void variable_item_list_process_ok(VariableItemList* variable_item_list) {
|
||||
static void variable_item_list_scroll_timer_callback(void* context) {
|
||||
VariableItemList* variable_item_list = context;
|
||||
with_view_model(
|
||||
variable_item_list->view, VariableItemListModel * model, { model->scroll_counter++; }, true);
|
||||
variable_item_list->view,
|
||||
VariableItemListModel * model,
|
||||
{ model->scroll_counter++; },
|
||||
true);
|
||||
}
|
||||
|
||||
void variable_item_list_locked_timer_callback(void* context) {
|
||||
@@ -360,7 +369,10 @@ void variable_item_list_locked_timer_callback(void* context) {
|
||||
VariableItemList* variable_item_list = context;
|
||||
|
||||
with_view_model(
|
||||
variable_item_list->view, VariableItemListModel * model, { model->locked_message_visible = false; }, true);
|
||||
variable_item_list->view,
|
||||
VariableItemListModel * model,
|
||||
{ model->locked_message_visible = false; },
|
||||
true);
|
||||
}
|
||||
|
||||
VariableItemList* variable_item_list_alloc() {
|
||||
@@ -372,7 +384,8 @@ VariableItemList* variable_item_list_alloc() {
|
||||
view_set_draw_callback(variable_item_list->view, variable_item_list_draw_callback);
|
||||
view_set_input_callback(variable_item_list->view, variable_item_list_input_callback);
|
||||
|
||||
variable_item_list->locked_timer = furi_timer_alloc(variable_item_list_locked_timer_callback, FuriTimerTypeOnce, variable_item_list);
|
||||
variable_item_list->locked_timer = furi_timer_alloc(
|
||||
variable_item_list_locked_timer_callback, FuriTimerTypeOnce, variable_item_list);
|
||||
|
||||
with_view_model(
|
||||
variable_item_list->view,
|
||||
@@ -384,8 +397,8 @@ VariableItemList* variable_item_list_alloc() {
|
||||
model->scroll_counter = 0;
|
||||
},
|
||||
true);
|
||||
variable_item_list->scroll_timer =
|
||||
furi_timer_alloc(variable_item_list_scroll_timer_callback, FuriTimerTypePeriodic, variable_item_list);
|
||||
variable_item_list->scroll_timer = furi_timer_alloc(
|
||||
variable_item_list_scroll_timer_callback, FuriTimerTypePeriodic, variable_item_list);
|
||||
furi_timer_start(variable_item_list->scroll_timer, 333);
|
||||
|
||||
return variable_item_list;
|
||||
|
||||
Reference in New Issue
Block a user