Loading core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -14506,6 +14506,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, onDetachedFromWindow(); onDetachedFromWindowInternal(); InputMethodManager imm = InputMethodManager.peekInstance(); if (imm != null) { imm.onViewDetachedFromWindow(this); } ListenerInfo li = mListenerInfo; final CopyOnWriteArrayList<OnAttachStateChangeListener> listeners = li != null ? li.mOnAttachStateChangeListeners : null; core/java/android/view/inputmethod/InputMethodManager.java +16 −0 Original line number Diff line number Diff line Loading @@ -1320,6 +1320,22 @@ public final class InputMethodManager { } } /** * Call this when a view is being detached from a {@link android.view.Window}. * @hide */ public void onViewDetachedFromWindow(View view) { synchronized (mH) { if (DEBUG) Log.v(TAG, "onViewDetachedFromWindow: " + view + " mServedView=" + mServedView + " hasWindowFocus=" + view.hasWindowFocus()); if (mServedView == view && view.hasWindowFocus()) { mNextServedView = null; scheduleCheckFocusLocked(view); } } } static void scheduleCheckFocusLocked(View view) { ViewRootImpl viewRootImpl = view.getViewRootImpl(); if (viewRootImpl != null) { Loading Loading
core/java/android/view/View.java +5 −0 Original line number Diff line number Diff line Loading @@ -14506,6 +14506,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, onDetachedFromWindow(); onDetachedFromWindowInternal(); InputMethodManager imm = InputMethodManager.peekInstance(); if (imm != null) { imm.onViewDetachedFromWindow(this); } ListenerInfo li = mListenerInfo; final CopyOnWriteArrayList<OnAttachStateChangeListener> listeners = li != null ? li.mOnAttachStateChangeListeners : null;
core/java/android/view/inputmethod/InputMethodManager.java +16 −0 Original line number Diff line number Diff line Loading @@ -1320,6 +1320,22 @@ public final class InputMethodManager { } } /** * Call this when a view is being detached from a {@link android.view.Window}. * @hide */ public void onViewDetachedFromWindow(View view) { synchronized (mH) { if (DEBUG) Log.v(TAG, "onViewDetachedFromWindow: " + view + " mServedView=" + mServedView + " hasWindowFocus=" + view.hasWindowFocus()); if (mServedView == view && view.hasWindowFocus()) { mNextServedView = null; scheduleCheckFocusLocked(view); } } } static void scheduleCheckFocusLocked(View view) { ViewRootImpl viewRootImpl = view.getViewRootImpl(); if (viewRootImpl != null) { Loading