Loading
Consider UID instead of PID in canBeObscuredBy()
This method is used to inform the decision to include flags FLAG_WINDOW_IS_OBSCURED, FLAG_WINDOW_IS_PARTIALLY_OBSCURED or not. These flags were created to enhance the opt-in security of apps (ag/64561, ag/903312), ie. an app can decide to filter out events that contain these flags if desired. Filtering out events obscured by the same UID but by a different process does not have any effect on security since in this case apps with the same UID can already inject motion events into each other ( http://cs/android/frameworks/native/services/inputflinger/dispatcher/InputDispatcher.cpp?l=2069&rcl=c8118551a204469df34ad6d5445e15ffb46ef96b), but more generally those apps share the same identity, so, in practice, for the system they act like the same (eg. they share all permissions, they usually can act as another package from the same UID, can access the private data of the other app, etc). Finally, if 2 apps share the same process, they necessarily share the same UID ( https://developer.android.com/guide/topics/manifest/application-element.html#proc), so this wouldn't create app-compat problems with the check before, it would probably help since it wouldn't generate some obscured events unnecessarily. This is also in preparation for ag/12408004. Test: With child CL, atest WindowCrossTouchTest Test: TH pass Bug: 158002302 Change-Id: I5cf9fd6a9b33620b8c40d18a394aa4fc57694d28