From 8d2cfd94837db18c5abf4df657ba2bab4fde6767 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Latorre?= Date: Thu, 12 Mar 2026 09:24:11 +0100 Subject: [PATCH 1/2] Change requestPermissionBackgroundLocation and requestPermissionBatteryOptimization responses --- CHANGELOG.md | 7 +++++++ README.md | 8 ++++---- src/__tests__/family-locator-test.ts | 8 ++++---- src/family-locator.ts | 4 ++-- src/post-message.ts | 4 ++-- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82eea13..c912141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # CHANGELOG +## v4.2.0 - 2026-03-12 + +- **Breaking change**: `requestPermissionBackgroundLocation` now returns + `'granted' | 'denied'` (removed `'settings_change_required'`) +- **Breaking change**: `requestPermissionBatteryOptimization` now returns + `'granted' | 'denied'` (removed `'settings_change_required'`) + ## v4.1.0 - 2026-02-27 - Family Locator SDK request permission methods: `requestPermissionLocation`, diff --git a/README.md b/README.md index d38cf8b..8c8a5d1 100644 --- a/README.md +++ b/README.md @@ -1894,13 +1894,13 @@ Request background location permission from the user. ```ts requestPermissionBackgroundLocation: () => Promise<{ - status: 'granted' | 'denied' | 'settings_change_required'; + status: 'granted' | 'denied'; }>; ``` #### Notes -- Android: show a custom alert and navigate to OS settings on accept. +- Android: this method navigates to OS settings. - iOS: upgrade to Always happens via OS escalation after background usage. #### Error cases @@ -1957,13 +1957,13 @@ Request permission to disable battery optimization (Android only). ```ts requestPermissionBatteryOptimization: () => Promise<{ - status: 'denied' | 'settings_change_required'; + status: 'granted' | 'denied'; }>; ``` #### Notes -- Android: show a custom alert and navigate to OS settings on accept. +- Android: this method navigates to OS settings. #### Error cases diff --git a/src/__tests__/family-locator-test.ts b/src/__tests__/family-locator-test.ts index 521953a..e2c489c 100644 --- a/src/__tests__/family-locator-test.ts +++ b/src/__tests__/family-locator-test.ts @@ -256,12 +256,12 @@ test('requestPermissionBackgroundLocation', async () => { getResponse: (msg) => ({ type: 'REQUEST_PERMISSION_BACKGROUND_LOCATION', id: msg.id, - payload: {status: 'settings_change_required'}, + payload: {status: 'granted'}, }), }); const res = await requestPermissionBackgroundLocation(); - expect(res).toEqual({status: 'settings_change_required'}); + expect(res).toEqual({status: 'granted'}); }); test('requestPermissionMicrophone', async () => { @@ -320,10 +320,10 @@ test('requestPermissionBatteryOptimization', async () => { getResponse: (msg) => ({ type: 'REQUEST_PERMISSION_BATTERY_OPTIMIZATION', id: msg.id, - payload: {status: 'settings_change_required'}, + payload: {status: 'denied'}, }), }); const res = await requestPermissionBatteryOptimization(); - expect(res).toEqual({status: 'settings_change_required'}); + expect(res).toEqual({status: 'denied'}); }); diff --git a/src/family-locator.ts b/src/family-locator.ts index 8c4623b..67be8df 100644 --- a/src/family-locator.ts +++ b/src/family-locator.ts @@ -129,7 +129,7 @@ export const requestPermissionLocation = (): Promise<{ }> => postMessageToNativeApp({type: 'REQUEST_PERMISSION_LOCATION'}); export const requestPermissionBackgroundLocation = (): Promise<{ - status: PermissionStatus | 'settings_change_required'; + status: PermissionStatus; }> => postMessageToNativeApp({type: 'REQUEST_PERMISSION_BACKGROUND_LOCATION'}); export const requestPermissionMicrophone = (): Promise<{ @@ -145,5 +145,5 @@ export const requestPermissionCriticalAlerts = (): Promise<{ }> => postMessageToNativeApp({type: 'REQUEST_PERMISSION_CRITICAL_ALERTS'}); export const requestPermissionBatteryOptimization = (): Promise<{ - status: 'denied' | 'settings_change_required'; + status: PermissionStatus; }> => postMessageToNativeApp({type: 'REQUEST_PERMISSION_BATTERY_OPTIMIZATION'}); diff --git a/src/post-message.ts b/src/post-message.ts index 8dcd04e..fe41d1b 100644 --- a/src/post-message.ts +++ b/src/post-message.ts @@ -180,7 +180,7 @@ export type ResponsesFromNativeApp = { id: string; type: 'REQUEST_PERMISSION_BACKGROUND_LOCATION'; payload: { - status: 'granted' | 'denied' | 'settings_change_required'; + status: 'granted' | 'denied'; }; }; REQUEST_PERMISSION_MICROPHONE: { @@ -208,7 +208,7 @@ export type ResponsesFromNativeApp = { id: string; type: 'REQUEST_PERMISSION_BATTERY_OPTIMIZATION'; payload: { - status: 'denied' | 'settings_change_required'; + status: 'granted' | 'denied'; }; }; INTERNAL_NAVIGATION: { From c6f8cd427a48da6aa6f8847ef9dbd9e1eb78735d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20Latorre?= Date: Fri, 13 Mar 2026 09:45:35 +0100 Subject: [PATCH 2/2] Bump version to 5.0 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c912141..9e282df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## v4.2.0 - 2026-03-12 +## v5.0.0 - 2026-03-13 - **Breaking change**: `requestPermissionBackgroundLocation` now returns `'granted' | 'denied'` (removed `'settings_change_required'`)