Merge "Check to show IME after committing finish drawing windows"
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.server.wm;
|
||||
|
||||
import static android.app.ActivityTaskManager.INVALID_STACK_ID;
|
||||
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
|
||||
import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
||||
@@ -84,9 +83,6 @@ import static android.view.WindowManager.TRANSIT_ACTIVITY_OPEN;
|
||||
import static android.view.WindowManager.TRANSIT_TASK_OPEN;
|
||||
import static android.view.WindowManager.TRANSIT_TASK_TO_FRONT;
|
||||
|
||||
import static com.android.server.wm.DisplayContentProto.FOCUSED_ROOT_TASK_ID;
|
||||
import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
|
||||
import static com.android.server.wm.DisplayContentProto.SINGLE_TASK_INSTANCE;
|
||||
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
|
||||
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_CONFIG;
|
||||
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_LAYOUT;
|
||||
@@ -105,12 +101,15 @@ import static com.android.server.wm.DisplayContentProto.DISPLAY_INFO;
|
||||
import static com.android.server.wm.DisplayContentProto.DOCKED_STACK_DIVIDER_CONTROLLER;
|
||||
import static com.android.server.wm.DisplayContentProto.DPI;
|
||||
import static com.android.server.wm.DisplayContentProto.FOCUSED_APP;
|
||||
import static com.android.server.wm.DisplayContentProto.FOCUSED_ROOT_TASK_ID;
|
||||
import static com.android.server.wm.DisplayContentProto.ID;
|
||||
import static com.android.server.wm.DisplayContentProto.OPENING_APPS;
|
||||
import static com.android.server.wm.DisplayContentProto.OVERLAY_WINDOWS;
|
||||
import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY;
|
||||
import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA;
|
||||
import static com.android.server.wm.DisplayContentProto.ROTATION;
|
||||
import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
|
||||
import static com.android.server.wm.DisplayContentProto.SINGLE_TASK_INSTANCE;
|
||||
import static com.android.server.wm.DisplayContentProto.TASKS;
|
||||
import static com.android.server.wm.DisplayContentProto.WINDOW_CONTAINER;
|
||||
import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_ADD_REMOVE;
|
||||
@@ -3255,9 +3254,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
|
||||
mWmService.mAtmInternal.onImeWindowSetOnDisplay(imePid,
|
||||
mInputMethodWindow.getDisplayId());
|
||||
}
|
||||
computeImeTarget(true /* updateImeTarget */);
|
||||
mInsetsStateController.getSourceProvider(ITYPE_IME).setWindow(win,
|
||||
null /* frameProvider */, null /* imeFrameProvider */);
|
||||
computeImeTarget(true /* updateImeTarget */);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3817,6 +3816,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
|
||||
}
|
||||
prepareSurfaces();
|
||||
|
||||
// This should be called after the insets have been dispatched to clients and we have
|
||||
// committed finish drawing windows.
|
||||
mInsetsStateController.getImeSourceProvider().checkShowImePostLayout();
|
||||
|
||||
mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent;
|
||||
mWmService.mDisplayManagerInternal.setDisplayProperties(mDisplayId,
|
||||
mLastHasContent,
|
||||
|
||||
@@ -38,13 +38,6 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider {
|
||||
super(source, stateController, displayContent);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when Insets have been dispatched to client. This gets called just after onPostLayout.
|
||||
*/
|
||||
void onPostInsetsDispatched() {
|
||||
checkShowImePostLayout();
|
||||
}
|
||||
|
||||
/**
|
||||
* Called from {@link WindowManagerInternal#showImePostLayout} when {@link InputMethodService}
|
||||
* requests to show IME on {@param imeTarget}.
|
||||
@@ -80,7 +73,7 @@ class ImeInsetsSourceProvider extends InsetsSourceProvider {
|
||||
};
|
||||
}
|
||||
|
||||
private void checkShowImePostLayout() {
|
||||
void checkShowImePostLayout() {
|
||||
// check if IME is drawn
|
||||
if (mIsImeLayoutDrawn
|
||||
|| (mImeTargetFromIme != null
|
||||
|
||||
@@ -168,7 +168,6 @@ class InsetsStateController {
|
||||
mLastState.set(mState, true /* copySources */);
|
||||
notifyInsetsChanged();
|
||||
}
|
||||
getImeSourceProvider().onPostInsetsDispatched();
|
||||
}
|
||||
|
||||
void onInsetsModified(InsetsControlTarget windowState, InsetsState state) {
|
||||
|
||||
Reference in New Issue
Block a user