CCExtractor / CCExtractor/ultimate_alarm_clock

Bug: System Ringtones tab displays a confusing blank screen on iOS devices

未关闭
#899 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug
主要语言
Dart
星标
112
派生
227
PR 合并指标
30 天内没有已合并 PR

描述

### 📱 Description & Context
Currently, navigating to the "System Ringtones" tab on an iOS device results in a completely blank screen. There is no loading indicator, no error message, and no UI feedback. To a user, this appears as a hard crash or a broken feature.

### 🔍 Root Cause Analysis
Unlike Android, which provides a public `RingtoneManager` API to easily fetch system notification sounds, iOS is highly sandboxed. Apple does not allow third-party applications to enumerate or access native system ringtones (e.g., "Radar", "Reflection").

Consequently, the native channel for system ringtones gracefully returns an empty list `[]` when executed on iOS. However, the UI layer in `ringtone_selection_page.dart` does not handle this expected empty state for iOS, causing it to render an empty view instead of a helpful fallback.

### ⚠️ Impact on User Experience
As the project pushes towards "iOS Readiness", silent UX failures like this break user trust. An alarm clock is mission-critical; a blank screen makes the app feel broken and unreliable.

### ✨ Expected Behavior
The UI should proactively check the platform. If the app is running on iOS, the `_buildSystemRingtonesTab()` should intercept the build and display a centralized, theme-aware message: *"System ringtones are currently only supported on Android. Please upload a custom ringtone to use this feature."*

### 🔄 Steps to Reproduce
1. Run the application on an iOS simulator or physical device.
2. Navigate to Add/Update Alarm.
3. Tap on "Choose Ringtone".
4. Select the "System Ringtones" tab.
5. Observe the blank screen.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。