Loading services/core/java/com/android/server/wm/AccessibilityController.java +12 −8 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ final class AccessibilityController { new SparseArray<>(); private SparseArray<IBinder> mFocusedWindow = new SparseArray<>(); private int mFocusedDisplay = -1; private boolean mIsImeVisible = false; // Set to true if initializing window population complete. private boolean mAllObserversInitialized = true; Loading Loading @@ -490,15 +490,19 @@ final class AccessibilityController { } } void onImeSurfaceShownChanged(WindowState windowState, boolean shown) { void updateImeVisibilityIfNeeded(int displayId, boolean shown) { if (mAccessibilityTracing.isTracingEnabled(FLAGS_MAGNIFICATION_CALLBACK)) { mAccessibilityTracing.logTrace(TAG + ".onImeSurfaceShownChanged", FLAGS_MAGNIFICATION_CALLBACK, "windowState=" + windowState + ";shown=" + shown); mAccessibilityTracing.logTrace(TAG + ".updateImeVisibilityIfNeeded", FLAGS_MAGNIFICATION_CALLBACK, "displayId=" + displayId + ";shown=" + shown); } final int displayId = windowState.getDisplayId(); if (mIsImeVisible == shown) { return; } mIsImeVisible = shown; final DisplayMagnifier displayMagnifier = mDisplayMagnifiers.get(displayId); if (displayMagnifier != null) { displayMagnifier.onImeSurfaceShownChanged(shown); displayMagnifier.notifyImeWindowVisibilityChanged(shown); } } Loading Loading @@ -767,9 +771,9 @@ final class AccessibilityController { } } void onImeSurfaceShownChanged(boolean shown) { void notifyImeWindowVisibilityChanged(boolean shown) { if (mAccessibilityTracing.isTracingEnabled(FLAGS_MAGNIFICATION_CALLBACK)) { mAccessibilityTracing.logTrace(LOG_TAG + ".onImeSurfaceShownChanged", mAccessibilityTracing.logTrace(LOG_TAG + ".notifyImeWindowVisibilityChanged", FLAGS_MAGNIFICATION_CALLBACK, "shown=" + shown); } mHandler.obtainMessage(MyHandler.MESSAGE_NOTIFY_IME_WINDOW_VISIBILITY_CHANGED, Loading services/core/java/com/android/server/wm/DisplayContent.java +7 −0 Original line number Diff line number Diff line Loading @@ -1909,6 +1909,13 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (mRemoteInsetsControlTarget != null) { mRemoteInsetsControlTarget.notifyInsetsChanged(); } // In Accessibility side, we need to know what magnification mode is activated while IME // is opened for logging metrics. if (mWmService.mAccessibilityController.hasCallbacks()) { final boolean isImeShow = mImeControlTarget != null && mImeControlTarget.getRequestedVisibility(ITYPE_IME); mWmService.mAccessibilityController.updateImeVisibilityIfNeeded(mDisplayId, isImeShow); } } /** Loading services/core/java/com/android/server/wm/WindowState.java +0 −3 Original line number Diff line number Diff line Loading @@ -3421,9 +3421,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST) { mWmService.mAtmService.mActiveUids.onNonAppSurfaceVisibilityChanged(mOwnerUid, shown); } if (mIsImWindow && mWmService.mAccessibilityController.hasCallbacks()) { mWmService.mAccessibilityController.onImeSurfaceShownChanged(this, shown); } } private void logExclusionRestrictions(int side) { Loading Loading
services/core/java/com/android/server/wm/AccessibilityController.java +12 −8 Original line number Diff line number Diff line Loading @@ -137,7 +137,7 @@ final class AccessibilityController { new SparseArray<>(); private SparseArray<IBinder> mFocusedWindow = new SparseArray<>(); private int mFocusedDisplay = -1; private boolean mIsImeVisible = false; // Set to true if initializing window population complete. private boolean mAllObserversInitialized = true; Loading Loading @@ -490,15 +490,19 @@ final class AccessibilityController { } } void onImeSurfaceShownChanged(WindowState windowState, boolean shown) { void updateImeVisibilityIfNeeded(int displayId, boolean shown) { if (mAccessibilityTracing.isTracingEnabled(FLAGS_MAGNIFICATION_CALLBACK)) { mAccessibilityTracing.logTrace(TAG + ".onImeSurfaceShownChanged", FLAGS_MAGNIFICATION_CALLBACK, "windowState=" + windowState + ";shown=" + shown); mAccessibilityTracing.logTrace(TAG + ".updateImeVisibilityIfNeeded", FLAGS_MAGNIFICATION_CALLBACK, "displayId=" + displayId + ";shown=" + shown); } final int displayId = windowState.getDisplayId(); if (mIsImeVisible == shown) { return; } mIsImeVisible = shown; final DisplayMagnifier displayMagnifier = mDisplayMagnifiers.get(displayId); if (displayMagnifier != null) { displayMagnifier.onImeSurfaceShownChanged(shown); displayMagnifier.notifyImeWindowVisibilityChanged(shown); } } Loading Loading @@ -767,9 +771,9 @@ final class AccessibilityController { } } void onImeSurfaceShownChanged(boolean shown) { void notifyImeWindowVisibilityChanged(boolean shown) { if (mAccessibilityTracing.isTracingEnabled(FLAGS_MAGNIFICATION_CALLBACK)) { mAccessibilityTracing.logTrace(LOG_TAG + ".onImeSurfaceShownChanged", mAccessibilityTracing.logTrace(LOG_TAG + ".notifyImeWindowVisibilityChanged", FLAGS_MAGNIFICATION_CALLBACK, "shown=" + shown); } mHandler.obtainMessage(MyHandler.MESSAGE_NOTIFY_IME_WINDOW_VISIBILITY_CHANGED, Loading
services/core/java/com/android/server/wm/DisplayContent.java +7 −0 Original line number Diff line number Diff line Loading @@ -1909,6 +1909,13 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (mRemoteInsetsControlTarget != null) { mRemoteInsetsControlTarget.notifyInsetsChanged(); } // In Accessibility side, we need to know what magnification mode is activated while IME // is opened for logging metrics. if (mWmService.mAccessibilityController.hasCallbacks()) { final boolean isImeShow = mImeControlTarget != null && mImeControlTarget.getRequestedVisibility(ITYPE_IME); mWmService.mAccessibilityController.updateImeVisibilityIfNeeded(mDisplayId, isImeShow); } } /** Loading
services/core/java/com/android/server/wm/WindowState.java +0 −3 Original line number Diff line number Diff line Loading @@ -3421,9 +3421,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST) { mWmService.mAtmService.mActiveUids.onNonAppSurfaceVisibilityChanged(mOwnerUid, shown); } if (mIsImWindow && mWmService.mAccessibilityController.hasCallbacks()) { mWmService.mAccessibilityController.onImeSurfaceShownChanged(this, shown); } } private void logExclusionRestrictions(int side) { Loading