Skip to content
Commit 072b1b51 authored by Yohei Yukawa's avatar Yohei Yukawa
Browse files

Clear IMMS#mCurClient when it is dead.

Suppose the following case:
  1. Launch an activity.
  2. Focus in an EditText on the activity.  IME is shown up.
  3. Kill the activity process in a not graceful way, e.g.,
     'adb shell kill'

After step 3, IMMS#removeClient(client) is immediately called back from
com.android.server.wm.Session, which is good, but we forgot to clear
IMMS#mCurClient to null.

Basically not clearing IMMS#mCurClient there is not so critical, because
1) we already have bunch of RemoteException check for the case where
IPC target is already dead, and in theory we cannot avoid this kind of
runtime error anyway, and 2) in most of cases new input method client
gains focus.

That said, in conjunction with other focus-related issues such
as bug #25373872, not cleaning that can result in the following error
message in 'input_method:' section of bugreport, which might be a bit
confusing.

  Input method client dead: android.os.DeadObjectException

The primary goal of this CL is to make bugreport less confusing.  Any
user/developer-visible changes beyond that is unintentional.

Bug: 25373872
Change-Id: Iee001ad9cce0c8c6324e3c0984be1e6f0e641d05
parent 27fe57d5
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment