Skip to content

Commit 9706487

Browse files
committed
fix: import UserModel in background_service and ensure ad auto-start
1 parent 4d96861 commit 9706487

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

lib/src/core/background_service.dart

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
1111
import 'package:geolocator/geolocator.dart';
1212
import 'package:logging/logging.dart';
1313
import 'package:shared_preferences/shared_preferences.dart';
14+
import 'package:off_chat/src/features/profile/domain/user_model.dart';
1415
import 'package:off_chat/src/core/notifications/notification_service.dart';
1516

1617
Future<void> initializeBackgroundService() async {
@@ -87,8 +88,11 @@ Future<void> _startServiceLogic(
8788
BLEAdvertiser advertiser,
8889
) async {
8990
final prefs = await SharedPreferences.getInstance();
90-
String currentName = prefs.getString('advertising_name_v2') ?? "BLE Node";
91-
bool advertisingOn = false;
91+
final user = await UserModel.load();
92+
93+
String currentName = prefs.getString('advertising_name_v2') ?? user?.username ?? "BLE Node";
94+
bool advertisingOn = user?.isOnboarded ?? false;
95+
9296
double currentLat = 0.0, currentLon = 0.0;
9397
bool isOnline = false, isAdUpdating = false, needsTrailingUpdate = false;
9498
DateTime lastAdStartTime = DateTime.fromMillisecondsSinceEpoch(0);
@@ -164,6 +168,12 @@ Future<void> _startServiceLogic(
164168
// Start Discovery Engine
165169
BLEDiscoverer().start(service, isar, myStableId);
166170

171+
// Initial Ad Start
172+
if (advertisingOn) {
173+
log.info('Auto-starting advertising for onboarded user: $currentName');
174+
updateAd();
175+
}
176+
167177
Timer.periodic(const Duration(minutes: 2), (_) => MessageHandler.checkExpiredMessages());
168178

169179
service.on('stopService').listen((_) async {

0 commit comments

Comments
 (0)