Wire app-side Firebase push notifications

- Rename Android package com.example.frontend -> net.oottsecurity.app
  (namespace, applicationId, MainActivity), and enable core library
  desugaring required by flutter_local_notifications
- Configure Firebase from a committed lib/firebase_options.dart (client
  identifiers, not secrets) instead of native config files; initialize the
  push service with explicit options
- iOS: add Runner.entitlements (aps-environment) wired via CODE_SIGN_ENTITLEMENTS
  for the Runner target, and UIBackgroundModes remote-notification in Info.plist
- gitignore the unused native Firebase config files defensively

dart analyze clean; 145 frontend tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
rzuasti
2026-06-08 14:46:55 -04:00
co-authored by Claude Opus 4.8
parent d81eba3b37
commit 44ec383744
8 changed files with 93 additions and 7 deletions
+10 -3
View File
@@ -6,13 +6,15 @@ plugins {
}
android {
namespace = "com.example.frontend"
namespace = "net.oottsecurity.app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
// flutter_local_notifications uses java.time APIs that need desugaring on older Android.
isCoreLibraryDesugaringEnabled = true
}
kotlinOptions {
@@ -20,8 +22,7 @@ android {
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.frontend"
applicationId = "net.oottsecurity.app"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdk = flutter.minSdkVersion
@@ -42,3 +43,9 @@ android {
flutter {
source = "../.."
}
dependencies {
// Backport of java.time etc. required by flutter_local_notifications (see
// isCoreLibraryDesugaringEnabled above).
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.4")
}