Open Notes from a KeyEvent dispatch
Dispatches any system `KeyEvent` from `PhoneWindowManager` to SystemUI, allowing SystemUI to handle the KeyEvent with custom behaviour. How the `KeyEvent` is handled will depend on the context:
- If user is in the lockscreen, it will launch a full screen experience.
- Otherwise, it will launch a floating task.
Once the context is decided, we will query for any Activity that can handle the new action `android.intent.action.NOTES` to execute the launch. If no `Activity` is available, nothing will happen.
To enable the feature, one must run the following ADB commands:
- adb shell setprop "persist.wm.debug.floating_tasks" 1 # enables floating windows
- adb shell setprop "persist.wm.debug.floating_tasks_as_bubbles" 1 # optional: enables bubble windows
- adb shell setprop ""persist.sysui.debug.note_tasks"" 1 # enables note tasking experience
- adb reboot # restart to load the new configs
Test: atest SystemUITests:WMShellTest
Test: atest SystemUITests:NoteTaskControllerTest
Test: atest SystemUITests:NoteTaskInitializerTest
Test: atest SystemUITests:NoteTaskIntentResolverTest
Fixes: 248274123
Change-Id: I36f30b3cbfe9e538729471d531b1b4b770738544
14 files changed