Просмотр исходного кода

Remove loading from app struct

jblanked 1 год назад
Родитель
Сommit
3af976467b
2 измененных файлов с 16 добавлено и 13 удалено
  1. 16 12
      feed/flip_social_feed.c
  2. 0 1
      flip_social.h

+ 16 - 12
feed/flip_social_feed.c

@@ -214,12 +214,16 @@ bool flip_social_load_initial_feed(bool alloc_http)
         FURI_LOG_E(TAG, "HTTP state is INACTIVE");
         FURI_LOG_E(TAG, "HTTP state is INACTIVE");
         return false;
         return false;
     }
     }
-    if (!easy_flipper_set_loading(&app_instance->loading, FlipSocialViewLoading, flip_social_callback_to_submenu_logged_in, &app_instance->view_dispatcher))
+    Loading *loading;
+    int32_t loading_view_id = 987654321; // Random ID
+    loading = loading_alloc();
+    if (!loading)
     {
     {
         FURI_LOG_E(TAG, "Failed to set loading screen");
         FURI_LOG_E(TAG, "Failed to set loading screen");
         return false;
         return false;
     }
     }
-    view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoading);
+    view_dispatcher_add_view(app_instance->view_dispatcher, loading_view_id, loading_get_view(loading));
+    view_dispatcher_switch_to_view(app_instance->view_dispatcher, loading_view_id);
     if (flip_social_get_feed(alloc_http)) // start the async request
     if (flip_social_get_feed(alloc_http)) // start the async request
     {
     {
         furi_timer_start(fhttp.get_timeout_timer, TIMEOUT_DURATION_TICKS);
         furi_timer_start(fhttp.get_timeout_timer, TIMEOUT_DURATION_TICKS);
@@ -230,8 +234,8 @@ bool flip_social_load_initial_feed(bool alloc_http)
         FURI_LOG_E(HTTP_TAG, "Failed to send request");
         FURI_LOG_E(HTTP_TAG, "Failed to send request");
         fhttp.state = ISSUE;
         fhttp.state = ISSUE;
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
-        view_dispatcher_remove_view(app_instance->view_dispatcher, FlipSocialViewLoading);
-        loading_free(app_instance->loading);
+        view_dispatcher_remove_view(app_instance->view_dispatcher, loading_view_id);
+        loading_free(loading);
         return false;
         return false;
     }
     }
     while (fhttp.state == RECEIVING && furi_timer_is_running(fhttp.get_timeout_timer) > 0)
     while (fhttp.state == RECEIVING && furi_timer_is_running(fhttp.get_timeout_timer) > 0)
@@ -247,8 +251,8 @@ bool flip_social_load_initial_feed(bool alloc_http)
     {
     {
         FURI_LOG_E(TAG, "Failed to parse JSON feed");
         FURI_LOG_E(TAG, "Failed to parse JSON feed");
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
-        view_dispatcher_remove_view(app_instance->view_dispatcher, FlipSocialViewLoading);
-        loading_free(app_instance->loading);
+        view_dispatcher_remove_view(app_instance->view_dispatcher, loading_view_id);
+        loading_free(loading);
         return false;
         return false;
     }
     }
 
 
@@ -257,21 +261,21 @@ bool flip_social_load_initial_feed(bool alloc_http)
     {
     {
         FURI_LOG_E(TAG, "Failed to load feed post");
         FURI_LOG_E(TAG, "Failed to load feed post");
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
-        view_dispatcher_remove_view(app_instance->view_dispatcher, FlipSocialViewLoading);
-        loading_free(app_instance->loading);
+        view_dispatcher_remove_view(app_instance->view_dispatcher, loading_view_id);
+        loading_free(loading);
         return false;
         return false;
     }
     }
     if (!feed_dialog_alloc())
     if (!feed_dialog_alloc())
     {
     {
         FURI_LOG_E(TAG, "Failed to allocate feed dialog");
         FURI_LOG_E(TAG, "Failed to allocate feed dialog");
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
         view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewLoggedInSubmenu);
-        view_dispatcher_remove_view(app_instance->view_dispatcher, FlipSocialViewLoading);
-        loading_free(app_instance->loading);
+        view_dispatcher_remove_view(app_instance->view_dispatcher, loading_view_id);
+        loading_free(loading);
         return false;
         return false;
     }
     }
     view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewFeedDialog);
     view_dispatcher_switch_to_view(app_instance->view_dispatcher, FlipSocialViewFeedDialog);
-    view_dispatcher_remove_view(app_instance->view_dispatcher, FlipSocialViewLoading);
-    loading_free(app_instance->loading);
+    view_dispatcher_remove_view(app_instance->view_dispatcher, loading_view_id);
+    loading_free(loading);
 
 
     return true;
     return true;
 }
 }

+ 0 - 1
flip_social.h

@@ -280,7 +280,6 @@ typedef struct
     char *message_users_logged_in_temp_buffer;         // Temporary buffer for message users text input
     char *message_users_logged_in_temp_buffer;         // Temporary buffer for message users text input
     uint32_t message_users_logged_in_temp_buffer_size; // Size of the message users temporary buffer
     uint32_t message_users_logged_in_temp_buffer_size; // Size of the message users temporary buffer
 
 
-    Loading *loading; // The loading screen
     DialogEx *dialog_explore;
     DialogEx *dialog_explore;
     DialogEx *dialog_friends;
     DialogEx *dialog_friends;
     DialogEx *dialog_messages;
     DialogEx *dialog_messages;