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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user