Merge branch 'fix-bad_kb_bt-flipper_app-conflict' of github.com:yocvito/Flipper-Xtreme into fix-bad_kb_bt-flipper_app-conflict

This commit is contained in:
yocvito
2023-02-28 19:43:29 +01:00
11 changed files with 54 additions and 16 deletions
@@ -2,6 +2,7 @@
enum VarItemListIndex {
VarItemListIndexSortDirsFirst,
VarItemListIndexDarkMode,
VarItemListIndexChangeDeviceName,
};
@@ -10,7 +11,7 @@ void xtreme_app_scene_misc_var_item_list_callback(void* context, uint32_t index)
view_dispatcher_send_custom_event(app->view_dispatcher, index);
}
static void xtreme_app_scene_misc_sort_folders_before_changed(VariableItem* item) {
static void xtreme_app_scene_misc_sort_dirs_first_changed(VariableItem* item) {
XtremeApp* app = variable_item_get_context(item);
bool value = variable_item_get_current_value_index(item);
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
@@ -18,6 +19,14 @@ static void xtreme_app_scene_misc_sort_folders_before_changed(VariableItem* item
app->save_settings = true;
}
static void xtreme_app_scene_misc_dark_mode_changed(VariableItem* item) {
XtremeApp* app = variable_item_get_context(item);
bool value = variable_item_get_current_value_index(item);
variable_item_set_current_value_text(item, value ? "ON" : "OFF");
XTREME_SETTINGS()->dark_mode = value;
app->save_settings = true;
}
void xtreme_app_scene_misc_on_enter(void* context) {
XtremeApp* app = context;
XtremeSettings* xtreme_settings = XTREME_SETTINGS();
@@ -25,14 +34,15 @@ void xtreme_app_scene_misc_on_enter(void* context) {
VariableItem* item;
item = variable_item_list_add(
var_item_list,
"Sort Dirs First",
2,
xtreme_app_scene_misc_sort_folders_before_changed,
app);
var_item_list, "Sort Dirs First", 2, xtreme_app_scene_misc_sort_dirs_first_changed, app);
variable_item_set_current_value_index(item, xtreme_settings->sort_dirs_first);
variable_item_set_current_value_text(item, xtreme_settings->sort_dirs_first ? "ON" : "OFF");
item = variable_item_list_add(
var_item_list, "Dark Mode (Exp.)", 2, xtreme_app_scene_misc_dark_mode_changed, app);
variable_item_set_current_value_index(item, xtreme_settings->dark_mode);
variable_item_set_current_value_text(item, xtreme_settings->dark_mode ? "ON" : "OFF");
variable_item_list_add(var_item_list, "Change Device Name", 0, NULL, app);
variable_item_list_set_enter_callback(
@@ -12,4 +12,4 @@ App(
order=50,
fap_icon="barcode_10px.png",
fap_category="Misc",
)
)
@@ -5,7 +5,7 @@ App(
entry_point="protoview_app_entry",
cdefines=["APP_PROTOVIEW"],
requires=["gui"],
stack_size=8*1024,
stack_size=8 * 1024,
order=50,
fap_icon="appicon.png",
fap_category="Tools",
@@ -9,5 +9,5 @@ App(
order=10,
fap_icon="icons/app.png",
fap_category="Tools",
fap_icon_assets="icons"
fap_icon_assets="icons",
)
+13 -1
View File
@@ -6,6 +6,7 @@
#include <furi_hal.h>
#include <stdint.h>
#include <u8g2_glue.h>
#include <xtreme/settings.h>
const CanvasFontParameters canvas_font_params[FontTotalNumber] = {
[FontPrimary] = {.leading_default = 12, .leading_min = 11, .height = 8, .descender = 2},
@@ -105,11 +106,22 @@ CanvasFontParameters* canvas_get_font_params(Canvas* canvas, Font font) {
void canvas_clear(Canvas* canvas) {
furi_assert(canvas);
u8g2_ClearBuffer(&canvas->fb);
if(XTREME_SETTINGS()->dark_mode) {
u8g2_FillBuffer(&canvas->fb);
} else {
u8g2_ClearBuffer(&canvas->fb);
}
}
void canvas_set_color(Canvas* canvas, Color color) {
furi_assert(canvas);
if(XTREME_SETTINGS()->dark_mode) {
if(color == ColorBlack) {
color = ColorWhite;
} else if(color == ColorWhite) {
color = ColorBlack;
}
}
u8g2_SetDrawColor(&canvas->fb, color);
}
+2 -1
View File
@@ -39,8 +39,9 @@ void XTREME_SETTINGS_LOAD() {
xtreme_settings->bar_borders = true; // ON
xtreme_settings->bar_background = false; // OFF
xtreme_settings->bad_bt = false; // USB
xtreme_settings->sort_dirs_first = true; // ON
xtreme_settings->butthurt_timer = 43200; // 12 H
xtreme_settings->sort_dirs_first = true; // ON
xtreme_settings->dark_mode = false; // OFF
}
}
}
+3 -2
View File
@@ -11,7 +11,7 @@
#define MAX_PACK_NAME_LEN 32
#define XTREME_SETTINGS_VERSION (3)
#define XTREME_SETTINGS_VERSION (4)
#define XTREME_SETTINGS_PATH INT_PATH(XTREME_SETTINGS_FILE_NAME)
#define XTREME_SETTINGS_MAGIC (0x69)
@@ -28,8 +28,9 @@ typedef struct {
bool bar_borders;
bool bar_background;
bool bad_bt;
bool sort_dirs_first;
int32_t butthurt_timer;
bool sort_dirs_first;
bool dark_mode;
} XtremeSettings;
XtremeSettings* XTREME_SETTINGS();
+1
View File
@@ -3431,6 +3431,7 @@ Function,-,u8g2_DrawUTF8Lines,u8g2_uint_t,"u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8
Function,-,u8g2_DrawVLine,void,"u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t"
Function,-,u8g2_DrawXBM,void,"u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, const uint8_t*"
Function,-,u8g2_DrawXBMP,void,"u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, const uint8_t*"
Function,-,u8g2_FillBuffer,void,u8g2_t*
Function,-,u8g2_FirstPage,void,u8g2_t*
Function,-,u8g2_GetFontSize,size_t,const uint8_t*
Function,-,u8g2_GetGlyphWidth,int8_t,"u8g2_t*, uint16_t"
1 entry status name type params
3431 Function - u8g2_DrawVLine void u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t
3432 Function - u8g2_DrawXBM void u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, const uint8_t*
3433 Function - u8g2_DrawXBMP void u8g2_t*, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, u8g2_uint_t, const uint8_t*
3434 Function - u8g2_FillBuffer void u8g2_t*
3435 Function - u8g2_FirstPage void u8g2_t*
3436 Function - u8g2_GetFontSize size_t const uint8_t*
3437 Function - u8g2_GetGlyphWidth int8_t u8g2_t*, uint16_t
+1
View File
@@ -3548,6 +3548,7 @@ void u8g2_Setup_a2printer_384x240_f(
void u8g2_SendBuffer(u8g2_t* u8g2);
void u8g2_ClearBuffer(u8g2_t* u8g2);
void u8g2_FillBuffer(u8g2_t* u8g2);
void u8g2_SetBufferCurrTileRow(u8g2_t* u8g2, uint8_t row) U8G2_NOINLINE;
+8
View File
@@ -45,6 +45,14 @@ void u8g2_ClearBuffer(u8g2_t* u8g2) {
memset(u8g2->tile_buf_ptr, 0, cnt);
}
void u8g2_FillBuffer(u8g2_t* u8g2) {
size_t cnt;
cnt = u8g2_GetU8x8(u8g2)->display_info->tile_width;
cnt *= u8g2->tile_buf_height;
cnt *= 8;
memset(u8g2->tile_buf_ptr, 255, cnt);
}
/*============================================*/
static void u8g2_send_tile_row(u8g2_t* u8g2, uint8_t src_tile_row, uint8_t dest_tile_row) {
+7 -3
View File
@@ -30,7 +30,7 @@ def convert_bm(img: "Image.Image | pathlib.Path") -> bytes:
data_enc = bytearray(data_encoded_str)
data_enc = bytearray([len(data_enc) & 0xFF, len(data_enc) >> 8]) + data_enc
if len(data_enc) < len(data_bin) + 1:
if len(data_enc) + 2 < len(data_bin) + 1:
return b"\x01\x00" + data_enc
else:
return b"\x00" + data_bin
@@ -124,12 +124,16 @@ def pack(
continue
for icon in icons.iterdir():
if icon.is_dir():
logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}")
logger(
f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}"
)
pack_icon_animated(
icon, packed / "Icons" / icons.name / icon.name
)
elif icon.is_file():
logger(f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}")
logger(
f"Compile: icon for pack '{source.name}': {icons.name}/{icon.name}"
)
pack_icon_static(
icon, packed / "Icons" / icons.name / icon.name
)