Simplify permission checks in IMMS#onShellCommand
With this CL, all commands implemented in InputMethodManagerService always WRITE_SECURE_SETTINGS and INTERACT_ACROSS_USERS_FULL permissions no matter what command is requested. This should not be a big deal because we have already restricted the possible caller of IInputMethodManager#shellCommand() to shell user [1], which is expected to have this kind of permissions. The biggest motivation to do so is simplifying shell command handlers. By eagerly calling Binder.clearCallingIdentity() when start handling shell commands, we just focus on what each shell command handler need to check in terms of security and any other restriction such as UserManager.DISALLOW_DEBUGGING_FEATURES. In short, there should be no observable behavior differences. What this CL does are just removing redundant permission checks and redundant Binder.clearCallingIdentity(). [1]: If87189563ccaacd4f9c666bab4f9ad08a9343084 b8d240fa Bug: 34886274 Test: 'adb shell ime' commands still work Change-Id: I6fd47b5cc1e7da7222774df20247a2c69a70f45b
Loading
Please register or sign in to comment