Skip to content

Commit 0863f66

Browse files
authored
Merge pull request #4 from jblanked/dev_0.7
Update FlipSocial to 0.7
2 parents 6089cd6 + f5036df commit 0863f66

24 files changed

+2183
-1173
lines changed

README.md

+13-11
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,22 @@ FlipSocial uses the FlipperHTTP flash for the WiFi Devboard, first introduced in
4646
- Direct Messaging
4747

4848
**v0.5**
49-
- Improved memory allocation
50-
- Improved Feed Page
49+
- Improve memory allocation
50+
- Improve Feed Page
5151
- Raspberry Pi Pico W Support
5252

5353
**v0.6**
54-
- Improved memory allocation
55-
- Fixed bugs in Direct Messaging View
56-
- Fixed bugs in Pre-Save View
54+
- Improve memory allocation
55+
- Update the Direct Messaging View
56+
- Update the Pre-Save View
5757

5858
**v0.7**
59-
- Improved User Profile (Bio, friend count, block)
60-
- Improved Explore Page
59+
- Improve memory allocation
60+
- Loading screens.
6161

6262
**v0.8**
63-
- Create and Post Pixel Art
63+
- Improve User Profile (Bio, friend count, block)
64+
- Improve Explore Page
6465

6566
**v1.0**
6667
- Official Release
@@ -88,8 +89,9 @@ This is a big project, and I welcome all contributors, especially developers int
8889
- **Solution 3:** Ensure your WiFi Devboard is plugged in, then restart your Flipper device.
8990

9091
5. Out of memory when starting the app or after visiting the feed and post views back-to-back.
91-
- **Solution:** Restart your Flipper device.
92+
- **Solution 1:** Restart your Flipper device.
93+
- **Solution 2:** Update the app to version 0.7 (or higher).
9294

93-
6. I can no longer access my Direct Messages.
95+
6. I can no longer access the Messages.
9496
- **Solution 1:** Uppdate the app to version 0.6.3 (or higher)
95-
- **Solution 2:** Click the logout button then login again.
97+
- **Solution 2:** Click the logout button then login again. Make sure your password is correct before clicking "Login".

alloc/flip_social_alloc.c

+30-87
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,17 @@ FlipSocialApp *flip_social_app_alloc()
2020
{
2121
return NULL;
2222
}
23+
view_dispatcher_set_custom_event_callback(app->view_dispatcher, flip_social_custom_event_callback);
24+
// Main view
25+
if (!easy_flipper_set_view(&app->view_loader, FlipSocialViewLoader, flip_social_loader_draw_callback, NULL, flip_social_callback_to_submenu_logged_out, &app->view_dispatcher, app))
26+
{
27+
return NULL;
28+
}
29+
flip_social_loader_init(app->view_loader);
30+
if (!easy_flipper_set_widget(&app->widget_result, FlipSocialViewWidgetResult, "Error, try again.", flip_social_callback_to_submenu_logged_out, &app->view_dispatcher))
31+
{
32+
return NULL;
33+
}
2334

2435
// Allocate the text input buffers
2536
app->wifi_ssid_logged_out_temp_buffer_size = MAX_USER_LENGTH;
@@ -165,30 +176,15 @@ FlipSocialApp *flip_social_app_alloc()
165176
}
166177

167178
// Allocate Submenu(s)
168-
if (!easy_flipper_set_submenu(&app->submenu_logged_out, FlipSocialViewLoggedOutSubmenu, "FlipSocial v0.6", flip_social_callback_exit_app, &app->view_dispatcher))
169-
{
170-
return NULL;
171-
}
172-
if (!easy_flipper_set_submenu(&app->submenu_logged_in, FlipSocialViewLoggedInSubmenu, "FlipSocial v0.6", flip_social_callback_exit_app, &app->view_dispatcher))
173-
{
174-
return NULL;
175-
}
176-
if (!easy_flipper_set_submenu(&app->submenu_compose, FlipSocialViewLoggedInCompose, "Create A Post", flip_social_callback_to_submenu_logged_in, &app->view_dispatcher))
177-
{
178-
return NULL;
179-
}
180-
if (!easy_flipper_set_submenu(&app->submenu_explore, FlipSocialViewLoggedInExploreSubmenu, "Explore", flip_social_callback_to_submenu_logged_in, &app->view_dispatcher))
181-
{
182-
return NULL;
183-
}
184-
if (!easy_flipper_set_submenu(&app->submenu_friends, FlipSocialViewLoggedInFriendsSubmenu, "Friends", flip_social_callback_to_profile_logged_in, &app->view_dispatcher))
179+
if (!easy_flipper_set_submenu(&app->submenu_logged_out, FlipSocialViewLoggedOutSubmenu, "FlipSocial v0.7", flip_social_callback_exit_app, &app->view_dispatcher))
185180
{
186181
return NULL;
187182
}
188-
if (!easy_flipper_set_submenu(&app->submenu_messages, FlipSocialViewLoggedInMessagesSubmenu, "Messages", flip_social_callback_to_submenu_logged_in, &app->view_dispatcher))
183+
if (!easy_flipper_set_submenu(&app->submenu_logged_in, FlipSocialViewLoggedInSubmenu, "FlipSocial v0.7", flip_social_callback_exit_app, &app->view_dispatcher))
189184
{
190185
return NULL;
191186
}
187+
192188
if (!easy_flipper_set_submenu(&app->submenu_messages_user_choices, FlipSocialViewLoggedInMessagesUserChoices, "Users", flip_social_callback_to_messages_logged_in, &app->view_dispatcher))
193189
{
194190
return NULL;
@@ -206,39 +202,6 @@ FlipSocialApp *flip_social_app_alloc()
206202
submenu_add_item(app->submenu_logged_in, "Profile", FlipSocialSubmenuLoggedInIndexProfile, flip_social_callback_submenu_choices, app);
207203
submenu_add_item(app->submenu_logged_in, "Settings", FlipSocialSubmenuLoggedInIndexSettings, flip_social_callback_submenu_choices, app);
208204
submenu_add_item(app->submenu_logged_in, "Sign Out", FlipSocialSubmenuLoggedInSignOutButton, flip_social_callback_submenu_choices, app);
209-
//
210-
submenu_add_item(app->submenu_compose, "Add Pre-Save", FlipSocialSubmenuComposeIndexAddPreSave, flip_social_callback_submenu_choices, app);
211-
//
212-
213-
// Allocate View(s)
214-
if (!easy_flipper_set_view(&app->view_process_login, FlipSocialViewLoggedOutProcessLogin, flip_social_callback_draw_login, NULL, flip_social_callback_to_login_logged_out, &app->view_dispatcher, app))
215-
{
216-
return NULL;
217-
}
218-
if (!easy_flipper_set_view(&app->view_process_register, FlipSocialViewLoggedOutProcessRegister, flip_social_callback_draw_register, NULL, flip_social_callback_to_register_logged_out, &app->view_dispatcher, app))
219-
{
220-
return NULL;
221-
}
222-
if (!easy_flipper_set_view(&app->view_process_feed, FlipSocialViewLoggedInFeed, flip_social_callback_draw_feed, NULL, flip_social_callback_to_submenu_logged_in, &app->view_dispatcher, app))
223-
{
224-
return NULL;
225-
}
226-
if (!easy_flipper_set_view(&app->view_process_compose, FlipSocialViewLoggedInProcessCompose, flip_social_callback_draw_compose, NULL, flip_social_callback_to_compose_logged_in, &app->view_dispatcher, app))
227-
{
228-
return NULL;
229-
}
230-
if (!easy_flipper_set_view(&app->view_process_explore, FlipSocialViewLoggedInExploreProccess, flip_social_callback_draw_explore, NULL, flip_social_callback_to_explore_logged_in, &app->view_dispatcher, app))
231-
{
232-
return NULL;
233-
}
234-
if (!easy_flipper_set_view(&app->view_process_friends, FlipSocialViewLoggedInFriendsProcess, flip_social_callback_draw_friends, NULL, flip_social_callback_to_friends_logged_in, &app->view_dispatcher, app))
235-
{
236-
return NULL;
237-
}
238-
if (!easy_flipper_set_view(&app->view_process_messages, FlipSocialViewLoggedInMessagesProcess, flip_social_callback_draw_messages, NULL, flip_social_callback_to_messages_logged_in, &app->view_dispatcher, app))
239-
{
240-
return NULL;
241-
}
242205

243206
// Setup Variable Item List(s)
244207
if (!easy_flipper_set_variable_item_list(&app->variable_item_list_logged_out_wifi_settings, FlipSocialViewLoggedOutWifiSettings, flip_social_text_input_logged_out_wifi_settings_item_selected, flip_social_callback_to_submenu_logged_out, &app->view_dispatcher, app))
@@ -266,27 +229,27 @@ FlipSocialApp *flip_social_app_alloc()
266229
return NULL;
267230
}
268231

269-
app->variable_item_logged_out_wifi_settings_ssid = variable_item_list_add(app->variable_item_list_logged_out_wifi_settings, "SSID", 1, NULL, NULL);
270-
app->variable_item_logged_out_wifi_settings_password = variable_item_list_add(app->variable_item_list_logged_out_wifi_settings, "Password", 1, NULL, NULL);
232+
app->variable_item_logged_out_wifi_settings_ssid = variable_item_list_add(app->variable_item_list_logged_out_wifi_settings, "SSID", 1, NULL, app);
233+
app->variable_item_logged_out_wifi_settings_password = variable_item_list_add(app->variable_item_list_logged_out_wifi_settings, "Password", 1, NULL, app);
271234
//
272-
app->variable_item_logged_out_login_username = variable_item_list_add(app->variable_item_list_logged_out_login, "Username", 1, NULL, NULL);
273-
app->variable_item_logged_out_login_password = variable_item_list_add(app->variable_item_list_logged_out_login, "Password", 1, NULL, NULL);
274-
app->variable_item_logged_out_login_button = variable_item_list_add(app->variable_item_list_logged_out_login, "Login", 0, NULL, NULL);
235+
app->variable_item_logged_out_login_username = variable_item_list_add(app->variable_item_list_logged_out_login, "Username", 1, NULL, app);
236+
app->variable_item_logged_out_login_password = variable_item_list_add(app->variable_item_list_logged_out_login, "Password", 1, NULL, app);
237+
app->variable_item_logged_out_login_button = variable_item_list_add(app->variable_item_list_logged_out_login, "Login", 0, NULL, app);
275238
//
276-
app->variable_item_logged_out_register_username = variable_item_list_add(app->variable_item_list_logged_out_register, "Username", 1, NULL, NULL);
277-
app->variable_item_logged_out_register_password = variable_item_list_add(app->variable_item_list_logged_out_register, "Password", 1, NULL, NULL);
278-
app->variable_item_logged_out_register_password_2 = variable_item_list_add(app->variable_item_list_logged_out_register, "Confirm Password", 1, NULL, NULL);
279-
app->variable_item_logged_out_register_button = variable_item_list_add(app->variable_item_list_logged_out_register, "Register", 0, NULL, NULL);
239+
app->variable_item_logged_out_register_username = variable_item_list_add(app->variable_item_list_logged_out_register, "Username", 1, NULL, app);
240+
app->variable_item_logged_out_register_password = variable_item_list_add(app->variable_item_list_logged_out_register, "Password", 1, NULL, app);
241+
app->variable_item_logged_out_register_password_2 = variable_item_list_add(app->variable_item_list_logged_out_register, "Confirm Password", 1, NULL, app);
242+
app->variable_item_logged_out_register_button = variable_item_list_add(app->variable_item_list_logged_out_register, "Register", 0, NULL, app);
280243
//
281-
app->variable_item_logged_in_profile_username = variable_item_list_add(app->variable_item_list_logged_in_profile, "Username", 0, NULL, NULL);
282-
app->variable_item_logged_in_profile_change_password = variable_item_list_add(app->variable_item_list_logged_in_profile, "Change Password", 0, NULL, NULL);
283-
app->variable_item_logged_in_profile_friends = variable_item_list_add(app->variable_item_list_logged_in_profile, "Friends", 0, NULL, NULL);
244+
app->variable_item_logged_in_profile_username = variable_item_list_add(app->variable_item_list_logged_in_profile, "Username", 1, NULL, app);
245+
app->variable_item_logged_in_profile_change_password = variable_item_list_add(app->variable_item_list_logged_in_profile, "Change Password", 1, NULL, app);
246+
app->variable_item_logged_in_profile_friends = variable_item_list_add(app->variable_item_list_logged_in_profile, "Friends", 0, NULL, app);
284247
//
285-
app->variable_item_logged_in_settings_about = variable_item_list_add(app->variable_item_list_logged_in_settings, "About", 0, NULL, NULL);
286-
app->variable_item_logged_in_settings_wifi = variable_item_list_add(app->variable_item_list_logged_in_settings, "WiFi", 0, NULL, NULL);
248+
app->variable_item_logged_in_settings_about = variable_item_list_add(app->variable_item_list_logged_in_settings, "About", 0, NULL, app);
249+
app->variable_item_logged_in_settings_wifi = variable_item_list_add(app->variable_item_list_logged_in_settings, "WiFi", 0, NULL, app);
287250
//
288-
app->variable_item_logged_in_wifi_settings_ssid = variable_item_list_add(app->variable_item_list_logged_in_settings_wifi, "SSID", 1, NULL, NULL);
289-
app->variable_item_logged_in_wifi_settings_password = variable_item_list_add(app->variable_item_list_logged_in_settings_wifi, "Password", 1, NULL, NULL);
251+
app->variable_item_logged_in_wifi_settings_ssid = variable_item_list_add(app->variable_item_list_logged_in_settings_wifi, "SSID", 1, NULL, app);
252+
app->variable_item_logged_in_wifi_settings_password = variable_item_list_add(app->variable_item_list_logged_in_settings_wifi, "Password", 1, NULL, app);
290253

291254
// Setup Text Input(s)
292255
if (!easy_flipper_set_uart_text_input(&app->text_input_logged_out_wifi_settings_ssid, FlipSocialViewLoggedOutWifiSettingsSSIDInput, "Enter SSID", app->wifi_ssid_logged_out_temp_buffer, app->wifi_ssid_logged_out_temp_buffer_size, flip_social_logged_out_wifi_settings_ssid_updated, flip_social_callback_to_wifi_settings_logged_out, &app->view_dispatcher, app))
@@ -344,26 +307,6 @@ FlipSocialApp *flip_social_app_alloc()
344307
return NULL;
345308
}
346309

347-
// Setup About(s)
348-
if (!easy_flipper_set_widget(&app->widget_logged_out_about, FlipSocialViewLoggedOutAbout, "Welcome to FlipSocial\n---\nThe social media app for\nFlipper Zero, created by\nJBlanked: www.flipsocial.net\n---\nPress BACK to return.", flip_social_callback_to_submenu_logged_out, &app->view_dispatcher))
349-
{
350-
return NULL;
351-
}
352-
if (!easy_flipper_set_widget(&app->widget_logged_in_about, FlipSocialViewLoggedInSettingsAbout, "Welcome to FlipSocial\n---\nThe social media app for\nFlipper Zero, created by\nJBlanked: www.flipsocial.net\n---\nPress BACK to return.", flip_social_callback_to_settings_logged_in, &app->view_dispatcher))
353-
{
354-
return NULL;
355-
}
356-
357-
// load the playlist
358-
if (load_playlist(&app->pre_saved_messages))
359-
{
360-
// Update the playlist submenu
361-
for (uint32_t i = 0; i < app->pre_saved_messages.count; i++)
362-
{
363-
submenu_add_item(app->submenu_compose, app->pre_saved_messages.messages[i], FlipSocialSubemnuComposeIndexStartIndex + i, flip_social_callback_submenu_choices, app);
364-
}
365-
}
366-
367310
// Load the settings
368311
if (!load_settings(app->wifi_ssid_logged_out,
369312
app->wifi_ssid_logged_out_temp_buffer_size,

alloc/flip_social_alloc.h

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#include <flip_social.h>
44
#include <callback/flip_social_callback.h>
55
#include <flip_storage/flip_social_storage.h>
6-
#include <draw/flip_social_draw.h>
76

87
/**
98
* @brief Function to allocate resources for the FlipSocialApp.

app.c

+31
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,37 @@ int32_t main_flip_social(void *p)
2626
return -1;
2727
}
2828

29+
// Thanks to Derek Jamison for the following edits
30+
if (app_instance->wifi_ssid_logged_out != NULL &&
31+
app_instance->wifi_password_logged_out != NULL)
32+
{
33+
// Try to wait for pong response.
34+
uint8_t counter = 10;
35+
while (fhttp.state == INACTIVE && --counter > 0)
36+
{
37+
FURI_LOG_D(TAG, "Waiting for PONG");
38+
furi_delay_ms(100);
39+
}
40+
41+
if (counter == 0)
42+
{
43+
DialogsApp *dialogs = furi_record_open(RECORD_DIALOGS);
44+
DialogMessage *message = dialog_message_alloc();
45+
dialog_message_set_header(
46+
message, "[FlipperHTTP Error]", 64, 0, AlignCenter, AlignTop);
47+
dialog_message_set_text(
48+
message,
49+
"Ensure your WiFi Developer\nBoard or Pico W is connected\nand the latest FlipperHTTP\nfirmware is installed.",
50+
0,
51+
63,
52+
AlignLeft,
53+
AlignBottom);
54+
dialog_message_show(dialogs, message);
55+
dialog_message_free(message);
56+
furi_record_close(RECORD_DIALOGS);
57+
}
58+
}
59+
2960
// Run the view dispatcher
3061
view_dispatcher_run(app_instance->view_dispatcher);
3162

application.fam

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ App(
99
fap_icon_assets="assets",
1010
fap_author="jblanked",
1111
fap_weburl="https://github.com/jblanked/FlipSocial",
12-
fap_version="0.6.3",
12+
fap_version="0.7",
1313
fap_description="Social media platform for the Flipper Zero.",
1414
)

assets/CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## 0.7
2+
- Improved memory allocation
3+
- Increased the max explore users from 50 to 100
4+
- Increased the max feed posts from 40 to 50.
5+
- Added loading screens.
6+
- Added updates from Derek Jamison
7+
18
## 0.6
29
- Improved memory allocation
310
- Fixed bugs in Direct Messaging View

assets/README.md

+13-11
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,22 @@ FlipSocial uses the FlipperHTTP flash for the WiFi Devboard, first introduced in
4646
- Direct Messaging
4747

4848
**v0.5**
49-
- Improved memory allocation
50-
- Improved Feed Page
49+
- Improve memory allocation
50+
- Improve Feed Page
5151
- Raspberry Pi Pico W Support
5252

5353
**v0.6**
54-
- Improved memory allocation
55-
- Fixed bugs in Direct Messaging View
56-
- Fixed bugs in Pre-Save View
54+
- Improve memory allocation
55+
- Update the Direct Messaging View
56+
- Update the Pre-Save View
5757

5858
**v0.7**
59-
- Improved User Profile (Bio, friend count, block)
60-
- Improved Explore Page
59+
- Improve memory allocation
60+
- Loading screens.
6161

6262
**v0.8**
63-
- Create and Post Pixel Art
63+
- Improve User Profile (Bio, friend count, block)
64+
- Improve Explore Page
6465

6566
**v1.0**
6667
- Official Release
@@ -88,8 +89,9 @@ This is a big project, and I welcome all contributors, especially developers int
8889
- **Solution 3:** Ensure your WiFi Devboard is plugged in, then restart your Flipper device.
8990

9091
5. Out of memory when starting the app or after visiting the feed and post views back-to-back.
91-
- **Solution:** Restart your Flipper device.
92+
- **Solution 1:** Restart your Flipper device.
93+
- **Solution 2:** Update the app to version 0.7 (or higher).
9294

93-
6. I can no longer access my Direct Messages.
95+
6. I can no longer access the Messages.
9496
- **Solution 1:** Uppdate the app to version 0.6.3 (or higher)
95-
- **Solution 2:** Click the logout button then login again.
97+
- **Solution 2:** Click the logout button then login again. Make sure your password is correct before clicking "Login".

0 commit comments

Comments
 (0)