alloc.c 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. #include <alloc/alloc.h>
  2. void auth_headers_alloc(void)
  3. {
  4. if (!app_instance)
  5. {
  6. snprintf(auth_headers, sizeof(auth_headers), "{\"Content-Type\":\"application/json\"}");
  7. return;
  8. }
  9. if (app_instance->login_username_logged_out && app_instance->login_password_logged_out && strlen(app_instance->login_username_logged_out) > 0 && strlen(app_instance->login_password_logged_out) > 0)
  10. {
  11. snprintf(auth_headers, sizeof(auth_headers), "{\"Content-Type\":\"application/json\",\"username\":\"%s\",\"password\":\"%s\"}", app_instance->login_username_logged_out, app_instance->login_password_logged_out);
  12. }
  13. else if (app_instance->login_username_logged_in && app_instance->change_password_logged_in && strlen(app_instance->login_username_logged_in) > 0 && strlen(app_instance->change_password_logged_in) > 0)
  14. {
  15. snprintf(auth_headers, sizeof(auth_headers), "{\"Content-Type\":\"application/json\",\"username\":\"%s\",\"password\":\"%s\"}", app_instance->login_username_logged_in, app_instance->change_password_logged_in);
  16. }
  17. else
  18. {
  19. snprintf(auth_headers, sizeof(auth_headers), "{\"Content-Type\":\"application/json\"}");
  20. }
  21. }
  22. FlipSocialFeedMini *flip_feed_info_alloc(void)
  23. {
  24. FlipSocialFeedMini *feed_info = (FlipSocialFeedMini *)malloc(sizeof(FlipSocialFeedMini));
  25. if (!feed_info)
  26. {
  27. FURI_LOG_E(TAG, "Failed to allocate memory for feed_info");
  28. return NULL;
  29. }
  30. feed_info->count = 0;
  31. feed_info->index = 0;
  32. return feed_info;
  33. }
  34. bool messages_dialog_alloc(bool free_first)
  35. {
  36. if (free_first)
  37. {
  38. flip_social_free_messages_dialog();
  39. }
  40. if (!app_instance->dialog_messages)
  41. {
  42. if (!easy_flipper_set_dialog_ex(
  43. &app_instance->dialog_messages,
  44. FlipSocialViewMessagesDialog,
  45. flip_social_messages->usernames[flip_social_messages->index],
  46. 0,
  47. 0,
  48. flip_social_messages->messages[flip_social_messages->index],
  49. 0,
  50. 10,
  51. flip_social_messages->index != 0 ? "Prev" : NULL,
  52. flip_social_messages->index != flip_social_messages->count - 1 ? "Next" : NULL,
  53. "Create",
  54. messages_dialog_callback,
  55. flip_social_callback_to_messages_logged_in,
  56. &app_instance->view_dispatcher,
  57. app_instance))
  58. {
  59. return false;
  60. }
  61. return true;
  62. }
  63. return false;
  64. }
  65. bool feed_dialog_alloc()
  66. {
  67. if (!flip_feed_item)
  68. {
  69. FURI_LOG_E(TAG, "Feed item is NULL");
  70. return false;
  71. }
  72. flip_social_free_feed_dialog();
  73. if (!app_instance->dialog_feed)
  74. {
  75. char updated_message[MAX_MESSAGE_LENGTH + 10];
  76. snprintf(updated_message, MAX_MESSAGE_LENGTH + 10, "%s (%u %s)", flip_feed_item->message, flip_feed_item->flips, flip_feed_item->flips == 1 ? "flip" : "flips");
  77. char *real_message = updated_user_message(updated_message);
  78. if (!real_message)
  79. {
  80. FURI_LOG_E(TAG, "Failed to update the user message");
  81. return false;
  82. }
  83. if (!easy_flipper_set_dialog_ex(
  84. &app_instance->dialog_feed,
  85. FlipSocialViewFeedDialog,
  86. flip_feed_item->username,
  87. 0,
  88. 0,
  89. updated_message,
  90. 0,
  91. 10,
  92. flip_feed_info->index != 0 ? "Prev" : NULL,
  93. flip_feed_info->index != flip_feed_info->count - 1 ? "Next" : NULL,
  94. flip_feed_item->is_flipped ? "Unflip" : "Flip",
  95. feed_dialog_callback,
  96. flip_social_callback_to_submenu_logged_in,
  97. &app_instance->view_dispatcher,
  98. app_instance))
  99. {
  100. free(real_message);
  101. return false;
  102. }
  103. free(real_message);
  104. return true;
  105. }
  106. return false;
  107. }
  108. bool alloc_text_input(uint32_t view_id)
  109. {
  110. if (!app_instance)
  111. {
  112. return false;
  113. }
  114. if (!app_instance->text_input)
  115. {
  116. switch (view_id)
  117. {
  118. case FlipSocialViewLoggedOutWifiSettingsSSIDInput:
  119. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter SSID", app_instance->wifi_ssid_logged_out_temp_buffer, app_instance->wifi_ssid_logged_out_temp_buffer_size, flip_social_logged_out_wifi_settings_ssid_updated, flip_social_callback_to_wifi_settings_logged_out, &app_instance->view_dispatcher, app_instance))
  120. {
  121. return false;
  122. }
  123. break;
  124. case FlipSocialViewLoggedOutWifiSettingsPasswordInput:
  125. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Password", app_instance->wifi_password_logged_out_temp_buffer, app_instance->wifi_password_logged_out_temp_buffer_size, flip_social_logged_out_wifi_settings_password_updated, flip_social_callback_to_wifi_settings_logged_out, &app_instance->view_dispatcher, app_instance))
  126. {
  127. return false;
  128. }
  129. break;
  130. case FlipSocialViewLoggedOutLoginUsernameInput:
  131. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Username", app_instance->login_username_logged_out_temp_buffer, app_instance->login_username_logged_out_temp_buffer_size, flip_social_logged_out_login_username_updated, flip_social_callback_to_login_logged_out, &app_instance->view_dispatcher, app_instance))
  132. {
  133. return false;
  134. }
  135. break;
  136. case FlipSocialViewLoggedOutLoginPasswordInput:
  137. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Password", app_instance->login_password_logged_out_temp_buffer, app_instance->login_password_logged_out_temp_buffer_size, flip_social_logged_out_login_password_updated, flip_social_callback_to_login_logged_out, &app_instance->view_dispatcher, app_instance))
  138. {
  139. return false;
  140. }
  141. break;
  142. case FlipSocialViewLoggedOutRegisterUsernameInput:
  143. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Username", app_instance->register_username_logged_out_temp_buffer, app_instance->register_username_logged_out_temp_buffer_size, flip_social_logged_out_register_username_updated, flip_social_callback_to_register_logged_out, &app_instance->view_dispatcher, app_instance))
  144. {
  145. return false;
  146. }
  147. break;
  148. case FlipSocialViewLoggedOutRegisterPasswordInput:
  149. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Password", app_instance->register_password_logged_out_temp_buffer, app_instance->register_password_logged_out_temp_buffer_size, flip_social_logged_out_register_password_updated, flip_social_callback_to_register_logged_out, &app_instance->view_dispatcher, app_instance))
  150. {
  151. return false;
  152. }
  153. break;
  154. case FlipSocialViewLoggedOutRegisterPassword2Input:
  155. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Confirm Password", app_instance->register_password_2_logged_out_temp_buffer, app_instance->register_password_2_logged_out_temp_buffer_size, flip_social_logged_out_register_password_2_updated, flip_social_callback_to_register_logged_out, &app_instance->view_dispatcher, app_instance))
  156. {
  157. return false;
  158. }
  159. break;
  160. case FlipSocialViewLoggedInChangePasswordInput:
  161. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Password", app_instance->change_password_logged_in_temp_buffer, app_instance->change_password_logged_in_temp_buffer_size, flip_social_logged_in_profile_change_password_updated, flip_social_callback_to_profile_logged_in, &app_instance->view_dispatcher, app_instance))
  162. {
  163. return false;
  164. }
  165. break;
  166. case FlipSocialViewLoggedInChangeBioInput:
  167. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Bio", app_instance->change_bio_logged_in_temp_buffer, app_instance->change_bio_logged_in_temp_buffer_size, flip_social_logged_in_profile_change_bio_updated, flip_social_callback_to_profile_logged_in, &app_instance->view_dispatcher, app_instance))
  168. {
  169. return false;
  170. }
  171. break;
  172. case FlipSocialViewLoggedInComposeAddPreSaveInput:
  173. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Pre-Save Message", app_instance->compose_pre_save_logged_in_temp_buffer, app_instance->compose_pre_save_logged_in_temp_buffer_size, flip_social_logged_in_compose_pre_save_updated, flip_social_callback_to_compose_logged_in, &app_instance->view_dispatcher, app_instance))
  174. {
  175. return false;
  176. }
  177. break;
  178. case FlipSocialViewLoggedInWifiSettingsSSIDInput:
  179. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter SSID", app_instance->wifi_ssid_logged_in_temp_buffer, app_instance->wifi_ssid_logged_in_temp_buffer_size, flip_social_logged_in_wifi_settings_ssid_updated, flip_social_callback_to_wifi_settings_logged_in, &app_instance->view_dispatcher, app_instance))
  180. {
  181. return false;
  182. }
  183. break;
  184. case FlipSocialViewLoggedInWifiSettingsPasswordInput:
  185. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Password", app_instance->wifi_password_logged_in_temp_buffer, app_instance->wifi_password_logged_in_temp_buffer_size, flip_social_logged_in_wifi_settings_password_updated, flip_social_callback_to_wifi_settings_logged_in, &app_instance->view_dispatcher, app_instance))
  186. {
  187. return false;
  188. }
  189. break;
  190. case FlipSocialViewLoggedInMessagesNewMessageInput:
  191. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Message", app_instance->messages_new_message_logged_in_temp_buffer, app_instance->messages_new_message_logged_in_temp_buffer_size, flip_social_logged_in_messages_new_message_updated, flip_social_callback_to_messages_logged_in, &app_instance->view_dispatcher, app_instance))
  192. {
  193. return false;
  194. }
  195. break;
  196. case FlipSocialViewLoggedInMessagesNewMessageUserChoicesInput:
  197. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Message", app_instance->message_user_choice_logged_in_temp_buffer, app_instance->message_user_choice_logged_in_temp_buffer_size, flip_social_logged_in_messages_user_choice_message_updated, flip_social_callback_to_messages_user_choices, &app_instance->view_dispatcher, app_instance))
  198. {
  199. return false;
  200. }
  201. break;
  202. case FlipSocialViewLoggedInExploreInput:
  203. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Username or Keyword", app_instance->explore_logged_in_temp_buffer, app_instance->explore_logged_in_temp_buffer_size, flip_social_logged_in_explore_updated, flip_social_callback_to_submenu_logged_in, &app_instance->view_dispatcher, app_instance))
  204. {
  205. return false;
  206. }
  207. break;
  208. case FlipSocialViewLoggedInMessageUsersInput:
  209. if (!easy_flipper_set_uart_text_input(&app_instance->text_input, FlipSocialViewTextInput, "Enter Username or Keyword", app_instance->message_users_logged_in_temp_buffer, app_instance->message_users_logged_in_temp_buffer_size, flip_social_logged_in_message_users_updated, flip_social_callback_to_submenu_logged_in, &app_instance->view_dispatcher, app_instance))
  210. {
  211. return false;
  212. }
  213. break;
  214. }
  215. }
  216. return true;
  217. }