Remove sendCloseSystemDialogs() from PhoneFallbackEventHandler
Today's flow of events is like this: key goes to focused app (ViewRootImpl::processKeyEvent), the view hierarchy does not handle the event, so ViewRootImpl uses FallbackEventHandler to invoke the fallback action for this key. The problem is that for many keys the app itself is closing system dialogs before taking the appropriate action (often launching an activity, eg. dialer for KEYCODE_CALL), but this is now prohibited in S due to abuse of said action. The long-term plan is to return to InputDispatcher the fact that the key wasn't handled by the app and have ID call out to the policy, which will launch the appropriate action and adjust the UI as it sees fit (close system dialogs). However, we need to prevent apps from crashing because of this, hence this change for S still. The unfortunate effect is that system dialogs won't be hidden in these cases, but this livable with until we properly implement the infrastructure. Bug: 199173862 Test: Simulate code-paths with affected keys and make sure apps don't crash: 1. adb shell input keyevent --longpress KEYCODE_CALL 2. adb shell input keyevent --longpress KEYCODE_CAMERA Change-Id: I44ad41ac1eac9acc8320298ceb4c1b21bde8af5d
Loading
Please register or sign in to comment