diet-guard/app/linux/flutter/generated_plugin_registrant.cc

24 lines
1.0 KiB
C++
Raw Normal View History

//
// Generated file. Do not edit.
//
// clang-format off
#include "generated_plugin_registrant.h"
#include <file_selector_linux/file_selector_plugin.h>
#include <flutter_secure_storage_linux/flutter_secure_storage_linux_plugin.h>
Add OAuth device flow, background notifications, and fix AGP9 release crash (Milestones 3–4) M3 – GitHub OAuth device flow: replace PAT-paste with a guided "Connect GitHub" button that runs the device-code flow; tapping with no client id now opens a setup dialog (instructions + inline paste field) rather than a buried inline hint. Bakes in the app's own OAuth App client id so fresh installs work with zero manual config. Auto-syncs immediately after connect. Verified end-to-end on the real phone: OAuth flow → token saved → PC's 48-entry log merged in (confirmed via food-bank vs manual source labels in History). M4 – Background meal-slot notifications: WorkManager periodic task (15 min floor) checks for overdue slots and posts/cancels notifications via flutter_local_notifications. New permissions: POST_NOTIFICATIONS, WAKE_LOCK, RECEIVE_BOOT_COMPLETED, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, INTERNET (was missing — latent sync bug). "Disable battery optimization" button in Settings. Verified on real phone: WorkManager registered, forced run posted a real notification ("Meal not logged / You haven't logged your 16:00 meal yet."), isolated to background path (only caller is the WorkManager dispatcher, not any foreground lifecycle hook). AGP9 release crash fix: AGP 9 defaults isMinifyEnabled/isShrinkResources to true for release even with no proguard config; R8 stripped WorkDatabase_Impl's reflection-only constructor, crashing every launch with NoSuchMethodException. Explicitly disabled both flags in build.gradle.kts. Verified via dexdump (constructor present) and on-device launch (no crash). Proper R8 keep rules are the long-term fix; tracked. 177 tests, flutter analyze clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SWPUBzE24Ls9i9GMRwXnnn
2026-06-25 17:29:23 +02:00
#include <url_launcher_linux/url_launcher_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin");
flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar);
Add OAuth device flow, background notifications, and fix AGP9 release crash (Milestones 3–4) M3 – GitHub OAuth device flow: replace PAT-paste with a guided "Connect GitHub" button that runs the device-code flow; tapping with no client id now opens a setup dialog (instructions + inline paste field) rather than a buried inline hint. Bakes in the app's own OAuth App client id so fresh installs work with zero manual config. Auto-syncs immediately after connect. Verified end-to-end on the real phone: OAuth flow → token saved → PC's 48-entry log merged in (confirmed via food-bank vs manual source labels in History). M4 – Background meal-slot notifications: WorkManager periodic task (15 min floor) checks for overdue slots and posts/cancels notifications via flutter_local_notifications. New permissions: POST_NOTIFICATIONS, WAKE_LOCK, RECEIVE_BOOT_COMPLETED, REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, INTERNET (was missing — latent sync bug). "Disable battery optimization" button in Settings. Verified on real phone: WorkManager registered, forced run posted a real notification ("Meal not logged / You haven't logged your 16:00 meal yet."), isolated to background path (only caller is the WorkManager dispatcher, not any foreground lifecycle hook). AGP9 release crash fix: AGP 9 defaults isMinifyEnabled/isShrinkResources to true for release even with no proguard config; R8 stripped WorkDatabase_Impl's reflection-only constructor, crashing every launch with NoSuchMethodException. Explicitly disabled both flags in build.gradle.kts. Verified via dexdump (constructor present) and on-device launch (no crash). Proper R8 keep rules are the long-term fix; tracked. 177 tests, flutter analyze clean. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SWPUBzE24Ls9i9GMRwXnnn
2026-06-25 17:29:23 +02:00
g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
}