CCExtractor / CCExtractor/ultimate_alarm_clock
Bug: System Ringtones tab displays a confusing blank screen on iOS devices
- Ngôn ngữ chính
- Dart
- Star
- 112
- Fork
- 227
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### 📱 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.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.