From 918265744e9b922b3d285083275f058145027aba Mon Sep 17 00:00:00 2001 From: AlexisDanlos <91090088+AlexisDanlos@users.noreply.github.com> Date: Sat, 5 Apr 2025 02:12:31 +0200 Subject: [PATCH] refactor: enhance stealth mode handling and clean up imports across services --- dialer/lib/core/config/app_config.dart | 1 + dialer/lib/domain/services/obfuscate_service.dart | 6 +++--- dialer/lib/globals.dart | 4 +++- .../lib/presentation/features/composition/composition.dart | 2 +- dialer/lib/presentation/features/contacts/contact_page.dart | 4 ++++ 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/dialer/lib/core/config/app_config.dart b/dialer/lib/core/config/app_config.dart index 5326cf5..d937e6c 100644 --- a/dialer/lib/core/config/app_config.dart +++ b/dialer/lib/core/config/app_config.dart @@ -9,5 +9,6 @@ class AppConfig { static Future initialize() async { const stealthFlag = String.fromEnvironment('STEALTH', defaultValue: 'false'); isStealthMode = stealthFlag.toLowerCase() == 'true'; + print('Stealth mode is ${isStealthMode ? 'enabled' : 'disabled'}'); } } diff --git a/dialer/lib/domain/services/obfuscate_service.dart b/dialer/lib/domain/services/obfuscate_service.dart index 6eaf43f..4d5bba1 100644 --- a/dialer/lib/domain/services/obfuscate_service.dart +++ b/dialer/lib/domain/services/obfuscate_service.dart @@ -1,7 +1,7 @@ // lib/services/obfuscate_service.dart import 'package:dialer/widgets/color_darkener.dart'; -import '../../globals.dart' as globals; +import '../../core/config/app_config.dart'; import 'dart:ui'; import 'dart:typed_data'; import 'package:flutter/material.dart'; @@ -20,7 +20,7 @@ class ObfuscateService { // Public method to obfuscate data String obfuscateData(String data) { - if (globals.isStealthMode) { + if (AppConfig.isStealthMode) { return _obfuscateData(data); } else { return data; @@ -61,7 +61,7 @@ class ObfuscatedAvatar extends StatelessWidget { if (imageBytes != null && imageBytes!.isNotEmpty) { return ClipOval( child: ImageFiltered( - imageFilter: globals.isStealthMode + imageFilter: AppConfig.isStealthMode ? ImageFilter.blur(sigmaX: 10, sigmaY: 10) : ImageFilter.blur(sigmaX: 0, sigmaY: 0), child: Image.memory( diff --git a/dialer/lib/globals.dart b/dialer/lib/globals.dart index a8c1ab7..c1410d0 100644 --- a/dialer/lib/globals.dart +++ b/dialer/lib/globals.dart @@ -1,5 +1,7 @@ // Global variables accessible throughout the app library globals; +import 'core/config/app_config.dart'; + // Whether the app is in stealth mode (obfuscated content) -bool isStealthMode = false; \ No newline at end of file +bool get isStealthMode => AppConfig.isStealthMode; \ No newline at end of file diff --git a/dialer/lib/presentation/features/composition/composition.dart b/dialer/lib/presentation/features/composition/composition.dart index da81e67..3b5d6ce 100644 --- a/dialer/lib/presentation/features/composition/composition.dart +++ b/dialer/lib/presentation/features/composition/composition.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_contacts/flutter_contacts.dart'; import 'package:url_launcher/url_launcher.dart'; -import '../../../services/contact_service.dart'; +import '../../../domain/services/contact_service.dart'; import '../../../domain/services/obfuscate_service.dart'; import '../../../domain/services/call_service.dart'; import '../contacts/widgets/add_contact_button.dart'; diff --git a/dialer/lib/presentation/features/contacts/contact_page.dart b/dialer/lib/presentation/features/contacts/contact_page.dart index 73f8ea3..ead0797 100644 --- a/dialer/lib/presentation/features/contacts/contact_page.dart +++ b/dialer/lib/presentation/features/contacts/contact_page.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import '../contacts/contact_state.dart'; import '../contacts/widgets/alphabet_scroll_page.dart'; +import '../../common/widgets/loading_indicator.dart'; +import '../../../domain/services/obfuscate_service.dart'; class ContactPage extends StatefulWidget { const ContactPage({super.key}); @@ -10,6 +12,8 @@ class ContactPage extends StatefulWidget { } class _ContactPageState extends State { + final ObfuscateService _obfuscateService = ObfuscateService(); + @override Widget build(BuildContext context) { final contactState = ContactState.of(context);