InputConnectionWrapper never supports null target.

This CL makes it clear that InputConnectionWrapper does not support null
target.  In other words, the semantics of null InputConnection can never
be emulated by a non-null InputConnectionWrapper.

This is particularly problematic when app developers are just forwarding
the return value of super.onCreateInputConnection() to
InputConnectionWrapper or its subclass, because there are many chance
that super.onCreateInputConnection() starts returning null, e.g. when:
  A. the application is extending a Framework class, and the Framework
     class is updated by OTA.
  B. the application is extending system WebView, and the WebView is
     updated.
  C. the application is extending a 3rd party library, and the app
     developer creates a new build with a new version of the 3rd party
     library.

To make it easy to catch these kind of bugs, this CL lets the
constructor of InputMethodWrapper throw NullPointerException when target
is null.  Bugs like crbug.com/571229 should be caught by developers
more easily.

Bug: 27407697
Change-Id: I83875bea886d4784f9507c930050efc29708d9db
1 file changed