Merge "[RESTRICT AUTOMERGE] Attempt to fix exception in IMS"
This commit is contained in:
committed by
Android (Google) Code Review
commit
05c62452d9
@@ -523,6 +523,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
private Handler mHandler;
|
||||
private boolean mImeSurfaceScheduledForRemoval;
|
||||
private ImsConfigurationTracker mConfigTracker = new ImsConfigurationTracker();
|
||||
private boolean mDestroyed;
|
||||
|
||||
/**
|
||||
* An opaque {@link Binder} token of window requesting {@link InputMethodImpl#showSoftInput}
|
||||
@@ -599,6 +600,11 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
@Override
|
||||
public final void initializeInternal(@NonNull IBinder token,
|
||||
IInputMethodPrivilegedOperations privilegedOperations, int configChanges) {
|
||||
if (mDestroyed) {
|
||||
Log.i(TAG, "The InputMethodService has already onDestroyed()."
|
||||
+ "Ignore the initialization.");
|
||||
return;
|
||||
}
|
||||
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMS.initializeInternal");
|
||||
mConfigTracker.onInitialize(configChanges);
|
||||
mPrivOps.set(privilegedOperations);
|
||||
@@ -1435,6 +1441,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
||||
}
|
||||
|
||||
@Override public void onDestroy() {
|
||||
mDestroyed = true;
|
||||
super.onDestroy();
|
||||
mRootView.getViewTreeObserver().removeOnComputeInternalInsetsListener(
|
||||
mInsetsComputer);
|
||||
|
||||
Reference in New Issue
Block a user