CCExtractor / CCExtractor/ultimate_alarm_clock

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

Ouverte
#899 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
bug
Langage dominant
Dart
Étoiles
112
Forks
227
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### 📱 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.