mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-25 06:13:14 +03:00
[FL-1371] Lfrfid app: add manufacturers to "Add manually" scene (#577)
* Lfrfid app: add manufacturers to "Add manually" scene * Lfrfid app: fix submenu name size
This commit is contained in:
parent
3571b58d0a
commit
e31999b116
@ -17,6 +17,22 @@ const char* lfrfid_key_get_type_string(LfrfidKeyType type) {
|
|||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* lfrfid_key_get_manufacturer_string(LfrfidKeyType type) {
|
||||||
|
switch(type) {
|
||||||
|
case LfrfidKeyType::KeyEM4100:
|
||||||
|
return "Em-Marine";
|
||||||
|
break;
|
||||||
|
case LfrfidKeyType::KeyH10301:
|
||||||
|
return "HID";
|
||||||
|
break;
|
||||||
|
case LfrfidKeyType::KeyI40134:
|
||||||
|
return "Indala";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
|
||||||
bool lfrfid_key_get_string_type(const char* string, LfrfidKeyType* type) {
|
bool lfrfid_key_get_string_type(const char* string, LfrfidKeyType* type) {
|
||||||
bool result = true;
|
bool result = true;
|
||||||
|
|
||||||
|
@ -11,5 +11,6 @@ enum class LfrfidKeyType : uint8_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const char* lfrfid_key_get_type_string(LfrfidKeyType type);
|
const char* lfrfid_key_get_type_string(LfrfidKeyType type);
|
||||||
|
const char* lfrfid_key_get_manufacturer_string(LfrfidKeyType type);
|
||||||
bool lfrfid_key_get_string_type(const char* string, LfrfidKeyType* type);
|
bool lfrfid_key_get_string_type(const char* string, LfrfidKeyType* type);
|
||||||
uint8_t lfrfid_key_get_type_data_count(LfrfidKeyType type);
|
uint8_t lfrfid_key_get_type_data_count(LfrfidKeyType type);
|
@ -3,9 +3,13 @@
|
|||||||
void LfRfidAppSceneSaveType::on_enter(LfRfidApp* app, bool need_restore) {
|
void LfRfidAppSceneSaveType::on_enter(LfRfidApp* app, bool need_restore) {
|
||||||
auto submenu = app->view_controller.get<SubmenuVM>();
|
auto submenu = app->view_controller.get<SubmenuVM>();
|
||||||
|
|
||||||
for(uint8_t i = 0; i <= static_cast<uint8_t>(LfrfidKeyType::KeyI40134); i++) {
|
for(uint8_t i = 0; i <= keys_count; i++) {
|
||||||
submenu->add_item(
|
string_init_printf(
|
||||||
lfrfid_key_get_type_string(static_cast<LfrfidKeyType>(i)), i, submenu_callback, app);
|
submenu_name[i],
|
||||||
|
"%s %s",
|
||||||
|
lfrfid_key_get_manufacturer_string(static_cast<LfrfidKeyType>(i)),
|
||||||
|
lfrfid_key_get_type_string(static_cast<LfrfidKeyType>(i)));
|
||||||
|
submenu->add_item(string_get_cstr(submenu_name[i]), i, submenu_callback, app);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(need_restore) {
|
if(need_restore) {
|
||||||
@ -33,6 +37,9 @@ bool LfRfidAppSceneSaveType::on_event(LfRfidApp* app, LfRfidApp::Event* event) {
|
|||||||
|
|
||||||
void LfRfidAppSceneSaveType::on_exit(LfRfidApp* app) {
|
void LfRfidAppSceneSaveType::on_exit(LfRfidApp* app) {
|
||||||
app->view_controller.get<SubmenuVM>()->clean();
|
app->view_controller.get<SubmenuVM>()->clean();
|
||||||
|
for(uint8_t i = 0; i <= keys_count; i++) {
|
||||||
|
string_clear(submenu_name[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void LfRfidAppSceneSaveType::submenu_callback(void* context, uint32_t index) {
|
void LfRfidAppSceneSaveType::submenu_callback(void* context, uint32_t index) {
|
||||||
|
@ -10,4 +10,6 @@ public:
|
|||||||
private:
|
private:
|
||||||
static void submenu_callback(void* context, uint32_t index);
|
static void submenu_callback(void* context, uint32_t index);
|
||||||
uint32_t submenu_item_selected = 0;
|
uint32_t submenu_item_selected = 0;
|
||||||
|
static const uint8_t keys_count = static_cast<uint8_t>(LfrfidKeyType::KeyI40134);
|
||||||
|
string_t submenu_name[keys_count + 1];
|
||||||
};
|
};
|
Loading…
Reference in New Issue
Block a user