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
      b8d240fa3f96b7b4ea35dd271beda789044d63ab

Bug: 34886274
Test: 'adb shell ime' commands still work
Change-Id: I6fd47b5cc1e7da7222774df20247a2c69a70f45b
1 file changed