| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #include "flip_weather.h"
- char lat_data[32];
- char lon_data[32];
- char* total_data = NULL;
- char* weather_data = NULL;
- FlipWeatherApp* app_instance = NULL;
- void flip_weather_loader_free_model(View* view);
- // Function to free the resources used by FlipWeatherApp
- void flip_weather_app_free(FlipWeatherApp* app) {
- if(!app) {
- FURI_LOG_E(TAG, "FlipWeatherApp is NULL");
- return;
- }
- // Free View(s)
- if(app->view_loader) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewLoader);
- flip_weather_loader_free_model(app->view_loader);
- view_free(app->view_loader);
- }
- // Free Submenu(s)
- if(app->submenu) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewSubmenu);
- submenu_free(app->submenu);
- }
- // Free Widget(s)
- if(app->widget) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewAbout);
- widget_free(app->widget);
- }
- if(app->widget_result) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewWidgetResult);
- widget_free(app->widget_result);
- }
- // Free Variable Item List(s)
- if(app->variable_item_list) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewSettings);
- variable_item_list_free(app->variable_item_list);
- }
- // Free Text Input(s)
- if(app->uart_text_input_ssid) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewTextInputSSID);
- text_input_free(app->uart_text_input_ssid);
- }
- if(app->uart_text_input_password) {
- view_dispatcher_remove_view(app->view_dispatcher, FlipWeatherViewTextInputPassword);
- text_input_free(app->uart_text_input_password);
- }
- // Free the text input buffer
- if(app->uart_text_input_buffer_ssid) free(app->uart_text_input_buffer_ssid);
- if(app->uart_text_input_temp_buffer_ssid) free(app->uart_text_input_temp_buffer_ssid);
- if(app->uart_text_input_buffer_password) free(app->uart_text_input_buffer_password);
- if(app->uart_text_input_temp_buffer_password) free(app->uart_text_input_temp_buffer_password);
- // deinitalize flipper http
- flipper_http_deinit();
- // free the view dispatcher
- if(app->view_dispatcher) view_dispatcher_free(app->view_dispatcher);
- // close the gui
- furi_record_close(RECORD_GUI);
- if(total_data) free(total_data);
- // free the app
- if(app) free(app);
- }
|