Created Page Switching system (FIX INPUT SYSTEM)
This commit is contained in:
parent
5d2fba270d
commit
a8200f7ce4
2 changed files with 39 additions and 2 deletions
|
@ -49,7 +49,35 @@ Manager* manager_create() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
void manager_switchpage(Manager* manager, int dir) {
|
||||||
|
// Switching page
|
||||||
|
manager->page += dir;
|
||||||
|
|
||||||
|
// Avoiding empty pages
|
||||||
|
if (manager->page < 0) {manager->page = 0;}
|
||||||
|
|
||||||
|
// Loading names
|
||||||
|
manager_loadnames(manager, manager->page);
|
||||||
|
}
|
||||||
void manager_loadnames(Manager* manager, int page){
|
void manager_loadnames(Manager* manager, int page){
|
||||||
|
// DEBUG
|
||||||
|
FURI_LOG_D(TAG, "Freeing previous names");
|
||||||
|
|
||||||
|
// Freeing all prior names
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
// Checking if this name exists:
|
||||||
|
if (manager->names[i] != NULL) {
|
||||||
|
// DEBUG
|
||||||
|
FURI_LOG_D(TAG, "Freed %s", manager->names[i]);
|
||||||
|
|
||||||
|
// Freeing name
|
||||||
|
free(manager->names[i]);
|
||||||
|
} else {
|
||||||
|
// DEBUG
|
||||||
|
FURI_LOG_E(TAG, "Name %i does not exist!", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Loading the next four passwords
|
// Loading the next four passwords
|
||||||
char* data = store_load("Data");
|
char* data = store_load("Data");
|
||||||
|
|
||||||
|
@ -57,6 +85,9 @@ void manager_loadnames(Manager* manager, int page){
|
||||||
int count = 0;
|
int count = 0;
|
||||||
char** split = split_string(data, '|', &count);
|
char** split = split_string(data, '|', &count);
|
||||||
|
|
||||||
|
// Freeing data
|
||||||
|
free(data);
|
||||||
|
|
||||||
// Temporary variables
|
// Temporary variables
|
||||||
int i_pass = 0;
|
int i_pass = 0;
|
||||||
int i_name = 0;
|
int i_name = 0;
|
||||||
|
@ -68,6 +99,9 @@ void manager_loadnames(Manager* manager, int page){
|
||||||
// It's another password!
|
// It's another password!
|
||||||
i_pass++;
|
i_pass++;
|
||||||
|
|
||||||
|
// DEBUG
|
||||||
|
FURI_LOG_I(TAG, "(%i) Scanning password %s...", i_pass, split[i]);
|
||||||
|
|
||||||
// Is it on our page?
|
// Is it on our page?
|
||||||
if (i_pass > page * 4
|
if (i_pass > page * 4
|
||||||
&& i_pass <= (page * 4) + 4) {
|
&& i_pass <= (page * 4) + 4) {
|
||||||
|
@ -78,14 +112,16 @@ void manager_loadnames(Manager* manager, int page){
|
||||||
i_name++;
|
i_name++;
|
||||||
|
|
||||||
// DEBUG
|
// DEBUG
|
||||||
FURI_LOG_I(TAG, "Added %s to names", split[i]);
|
FURI_LOG_D(TAG, "Added %s to names", split[i]);
|
||||||
|
|
||||||
|
// Too big?
|
||||||
|
if (i_name > 3) {break;}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
free(split);
|
free(split);
|
||||||
free(data);
|
|
||||||
}
|
}
|
||||||
void manager_delete(Manager* manager) {
|
void manager_delete(Manager* manager) {
|
||||||
free(manager->names);
|
free(manager->names);
|
||||||
|
|
|
@ -19,6 +19,7 @@ typedef struct {
|
||||||
Manager* manager_create();
|
Manager* manager_create();
|
||||||
|
|
||||||
// Functions
|
// Functions
|
||||||
|
void manager_switchpage(Manager* manager, int dir);
|
||||||
void manager_loadnames(Manager* manager, int page);
|
void manager_loadnames(Manager* manager, int page);
|
||||||
void manager_delete(Manager* manager);
|
void manager_delete(Manager* manager);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue