fix(test-app): conditionally call getExactAlarmStatus on Android only

getExactAlarmStatus() is an Android-only API and was causing
UNIMPLEMENTED errors on iOS. Now only calls the method on Android
platforms, with safe defaults for iOS.

- Check platform before calling getExactAlarmStatus()
- Use default values { enabled: false, supported: false } on iOS
- Add error handling for Android call failures
- Make exact alarm status logging conditional on Android
This commit is contained in:
Jose Olarte III
2025-12-31 14:27:08 +08:00
parent 2d353c877c
commit c8919480d9

View File

@@ -235,7 +235,17 @@ const checkSystemStatus = async (): Promise<void> => {
const status = await plugin.getNotificationStatus()
// Use checkPermissionStatus() which is the correct method name for iOS
const permissions = await plugin.checkPermissionStatus()
const exactAlarmStatus = await plugin.getExactAlarmStatus()
// getExactAlarmStatus() is Android-only - only call on Android
let exactAlarmStatus = { enabled: false, supported: false }
if (platform === 'android') {
try {
exactAlarmStatus = await plugin.getExactAlarmStatus()
} catch (exactAlarmError) {
console.warn('⚠️ getExactAlarmStatus() failed (non-critical):', exactAlarmError)
// Use defaults if call fails
}
}
console.log('📊 Plugin status object:', status)
console.log('📊 Status values:')
@@ -252,7 +262,9 @@ const checkSystemStatus = async (): Promise<void> => {
console.log(' - exactAlarmEnabled:', permissions.exactAlarmEnabled)
console.log(' - wakeLockEnabled:', permissions.wakeLockEnabled)
console.log(' - allPermissionsGranted:', permissions.allPermissionsGranted)
console.log('📊 Exact alarm status:', exactAlarmStatus)
if (platform === 'android') {
console.log('📊 Exact alarm status:', exactAlarmStatus)
}
// Map plugin response to app store format
// checkPermissionStatus() returns PermissionStatusResult with boolean flags