feat: SMS 스캔 패키지를 flutter_sms_inbox로 변경 및 플랫폼별 최적화

- telephony 패키지를 flutter_sms_inbox로 교체
- 플랫폼별 SMS 스캔 로직 구현:
  * Web: mock data 사용
  * Android: flutter_sms_inbox로 실제 SMS 스캔
  * iOS: SMS 기능 비활성화
- iOS에서 SMS 스캔 버튼 숨김 처리
- PlatformHelper 유틸리티 추가로 웹 환경 오류 해결
- Android 네이티브 MethodChannel 코드 제거
This commit is contained in:
JiWoong Sul
2025-07-17 18:30:21 +09:00
parent a8728eb5f3
commit a9a715d67c
9 changed files with 259 additions and 241 deletions

View File

@@ -3,6 +3,7 @@ import 'package:flutter/services.dart';
import '../theme/app_colors.dart';
import 'glassmorphism_card.dart';
import '../l10n/app_localizations.dart';
import '../utils/platform_helper.dart';
class FloatingNavigationBar extends StatefulWidget {
final int selectedIndex;
@@ -117,17 +118,18 @@ class _FloatingNavigationBarState extends State<FloatingNavigationBar>
_AddButton(
onTap: () => _onItemTapped(2),
),
_NavigationItem(
icon: Icons.qr_code_scanner_rounded,
label: AppLocalizations.of(context).smsScanLabel,
isSelected: widget.selectedIndex == 3,
onTap: () => _onItemTapped(3),
),
if (!PlatformHelper.isIOS)
_NavigationItem(
icon: Icons.qr_code_scanner_rounded,
label: AppLocalizations.of(context).smsScanLabel,
isSelected: widget.selectedIndex == 3,
onTap: () => _onItemTapped(3),
),
_NavigationItem(
icon: Icons.settings_rounded,
label: AppLocalizations.of(context).settings,
isSelected: widget.selectedIndex == 4,
onTap: () => _onItemTapped(4),
isSelected: PlatformHelper.isIOS ? widget.selectedIndex == 3 : widget.selectedIndex == 4,
onTap: () => _onItemTapped(PlatformHelper.isIOS ? 3 : 4),
),
],
),