fix: accept call on lockscreen when app is locked [WPB-25850] - #5311
Conversation
Test Results 347 files ±0 347 suites ±0 1m 50s ⏱️ -1s Results for commit 911b743. ± Comparison against base commit 049fd33. This pull request removes 7 and adds 12 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #5311 +/- ##
===========================================
+ Coverage 53.83% 54.31% +0.48%
===========================================
Files 755 757 +2
Lines 26303 26459 +156
Branches 4348 4377 +29
===========================================
+ Hits 14161 14372 +211
+ Misses 10765 10691 -74
- Partials 1377 1396 +19
... and 28 files with indirect coverage changes Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
APKs built during tests are available here. Scroll down to Artifacts! |
|
APKs built during tests are available here. Scroll down to Artifacts! |
https://wearezeta.atlassian.net/browse/WPB-25850
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764The PR Description
What's new in this PR?
Issues
On Android (Google Pixel, latest OS), incoming calls cannot be accepted on lock screen when app is locked and uses biometrics.
Causes (Optional)
Biometrics cannot be used when the device is locked.
Solutions
Exclude incoming call screen and its actions from being under the app-lock, so allow users to accept the call while app is locked - it doesn't require unlocking the app and opening
AppLockActivityanymore thus the biometrics are never used when device is locked. At the same time change to allow only incoming call screen to be shown when device is locked, so other screens, like for instance ongoing call after accepting, are available only after unlocking the device and app if app-lock is enabled - this is unified with iOS. These changes mean that now app-lock needs to be checked on ongoing call screen (OngoingCallActivity) in a single place rather than for multiple actions on incoming call screen, so it simplifies the logic a bit. For biometrics dialog, wait until the lifecycle is resumed to show the biometric prompt, otherwise it silently fails to show it and never retries leaving user with empty screen. Additionally, call activities are being open in a new task soAppLockActivitycan be triggered twice for call and regular task, so now it checks and closes itself when it notices that the app has just been unlocked.Testing
How to Test
Use a device with biometrics, open Wire app, enable app-lock, close the app, turn off the screen, receive incoming call and try to accept it.
Attachments (Optional)
Without biometrics:
Screen.Recording.2026-09-21.at.18.29.21.mov
With biometrics:
PXL_20260921_160701081.TS.mp4
PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764.