diff options
| author | 2025-03-03 15:36:40 +0800 | |
|---|---|---|
| committer | 2025-03-19 14:18:44 +0800 | |
| commit | fa21ea62e7d26e21b7f4e599a345a27c0e48ca8b (patch) | |
| tree | ac055d4a04e3ea3b2af6c3fc7f9ca34d7e542131 /libs/androidfw/StringPool.cpp | |
| parent | fcf9d0864a50bce3c62dda82fe67dda57b723561 (diff) | |
Support widget intents on connected displays.
This change preserves display context for widget interactions across
displays, ensuring activities launch on the originating display rather
than defaulting to the primary display. It works by:
1. Modifying PendingIntentRecord.sendInner to include display ID
information in broadcast extras via a filtered ActivityOptions bundle.
2. Enhancing ActivityThread.handleReceiver to create a DisplayContext
based on the preserved launchDisplayId when available.
This addresses the issue where widget interactions on secondary displays
would incorrectly launch activities on the primary display due to
display context being dropped during the broadcast intent process.
Bug: 358368849
Test: atest FrameworksCoreTests:ActivityThreadTest
Test: atest FrameworksMockingServicesTests:PendingIntentControllerTest
Test: Click "Battery Widget" and check activity launched on connected display
Flag: com.android.window.flags.support_widget_intents_on_connected_display
Change-Id: I03ce2b379ad54b6c727adbc0b746eea75ceb4de3
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions