Add '-u <user id>' option to 'adb shell ime set'

This is a preparation to add end-to-end CTS for per-profile IME mode.

In order to allow CTS tests to switch IME via shell command in
multi-user environment, this CL adds '-u <user id>' option to
  adb shell ime set <ime id>

Another notable behavior change in this CL is that
  adb shell ime set <ime id>
now gracefully fails with showing one-line error message when <ime id>
does not exist.  Previously it failed with showing a stacktrace
because of unhandled IllegalArgumentException.

Bug: 122924287
Test: Manually tested as follows:
  1. Build aosp_blueline-userdebug and flash it
  2. make -j SoftKeyboard
  3. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
  4. adb shell pm create-user test
  5. adb shell am switch-user 10
  6. adb shell ime enable -u 0 com.example.android.softkeyboard/.SoftKeyboard
     -> Input method com.example.android.softkeyboard/.SoftKeyboard: now enabled for user #0
  7. adb shell ime set -u 0 com.example.android.softkeyboard/.SoftKeyboard
     -> Input method com.example.android.softkeyboard/.SoftKeyboard selected for user #0
Test: Manually tested as follows.
  1. Build aosp_blueline-userdebug and flash it
  2. adb shell pm create-user restricted_test
  3. adb root
  4. adb shell pm set-user-restriction --user 10 no_debugging_features 1
  5. adb shell ime set -u all com.android.inputmethod.latin/.LatinIME
     -> Input method com.android.inputmethod.latin/.LatinIME: now disabled for user #0
        User #10 is restricted with DISALLOW_DEBUGGING_FEATURES.
Change-Id: I397cf0fb418a395dcafc0ab0d8d4e553b0f2eaab
1 file changed