Merge "Remove updateImeDisplayId" into sc-v2-dev

This commit is contained in:
Charles Chen
2021-07-02 03:20:32 +00:00
committed by Android (Google) Code Review
5 changed files with 13 additions and 49 deletions

View File

@@ -170,8 +170,8 @@ class IInputMethodWrapper extends IInputMethod.Stub
case DO_INITIALIZE_INTERNAL: { case DO_INITIALIZE_INTERNAL: {
SomeArgs args = (SomeArgs) msg.obj; SomeArgs args = (SomeArgs) msg.obj;
try { try {
inputMethod.initializeInternal((IBinder) args.arg1, msg.arg1, inputMethod.initializeInternal((IBinder) args.arg1,
(IInputMethodPrivilegedOperations) args.arg2, (int) args.arg3); (IInputMethodPrivilegedOperations) args.arg2, msg.arg1);
} finally { } finally {
args.recycle(); args.recycle();
} }
@@ -279,11 +279,10 @@ class IInputMethodWrapper extends IInputMethod.Stub
@BinderThread @BinderThread
@Override @Override
public void initializeInternal(IBinder token, int displayId, public void initializeInternal(IBinder token, IInputMethodPrivilegedOperations privOps,
IInputMethodPrivilegedOperations privOps, int configChanges) { int configChanges) {
mCaller.executeOrSendMessage( mCaller.executeOrSendMessage(
mCaller.obtainMessageIOOO(DO_INITIALIZE_INTERNAL, displayId, token, privOps, mCaller.obtainMessageIOO(DO_INITIALIZE_INTERNAL, configChanges, token, privOps));
configChanges));
} }
@BinderThread @BinderThread

View File

@@ -589,7 +589,7 @@ public class InputMethodService extends AbstractInputMethodService {
*/ */
@MainThread @MainThread
@Override @Override
public final void initializeInternal(@NonNull IBinder token, int displayId, public final void initializeInternal(@NonNull IBinder token,
IInputMethodPrivilegedOperations privilegedOperations, int configChanges) { IInputMethodPrivilegedOperations privilegedOperations, int configChanges) {
if (InputMethodPrivilegedOperationsRegistry.isRegistered(token)) { if (InputMethodPrivilegedOperationsRegistry.isRegistered(token)) {
Log.w(TAG, "The token has already registered, ignore this initialization."); Log.w(TAG, "The token has already registered, ignore this initialization.");
@@ -599,7 +599,6 @@ public class InputMethodService extends AbstractInputMethodService {
mConfigTracker.onInitialize(configChanges); mConfigTracker.onInitialize(configChanges);
mPrivOps.set(privilegedOperations); mPrivOps.set(privilegedOperations);
InputMethodPrivilegedOperationsRegistry.put(token, mPrivOps); InputMethodPrivilegedOperationsRegistry.put(token, mPrivOps);
updateInputMethodDisplay(displayId);
attachToken(token); attachToken(token);
Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER);
} }
@@ -634,25 +633,6 @@ public class InputMethodService extends AbstractInputMethodService {
mWindow.setToken(token); mWindow.setToken(token);
} }
// TODO(b/149463653): remove updateInputMethodDisplay(int displayId) since we'll get the
// right display by attachToWindowToken
/**
* {@inheritDoc}
* @hide
*/
@MainThread
@Override
public void updateInputMethodDisplay(int displayId) {
if (getDisplayId() == displayId) {
return;
}
// Update display for adding IME window to the right display.
// TODO(b/111364446) Need to address context lifecycle issue if need to re-create
// for update resources & configuration correctly when show soft input
// in non-default display.
updateDisplay(displayId);
}
/** /**
* {@inheritDoc} * {@inheritDoc}
* *

View File

@@ -96,8 +96,6 @@ public interface InputMethod {
* *
* @param token special token for the system to identify * @param token special token for the system to identify
* {@link InputMethodService} * {@link InputMethodService}
* @param displayId The id of the display that current IME shown.
* Used for {{@link #updateInputMethodDisplay(int)}}
* @param privilegedOperations IPC endpoint to do some privileged * @param privilegedOperations IPC endpoint to do some privileged
* operations that are allowed only to the * operations that are allowed only to the
* current IME. * current IME.
@@ -105,9 +103,8 @@ public interface InputMethod {
* @hide * @hide
*/ */
@MainThread @MainThread
default void initializeInternal(IBinder token, int displayId, default void initializeInternal(IBinder token,
IInputMethodPrivilegedOperations privilegedOperations, int configChanges) { IInputMethodPrivilegedOperations privilegedOperations, int configChanges) {
updateInputMethodDisplay(displayId);
attachToken(token); attachToken(token);
} }
@@ -142,16 +139,6 @@ public interface InputMethod {
@MainThread @MainThread
public void attachToken(IBinder token); public void attachToken(IBinder token);
/**
* Update context display according to given displayId.
*
* @param displayId The id of the display that need to update for context.
* @hide
*/
@MainThread
default void updateInputMethodDisplay(int displayId) {
}
/** /**
* Bind a new application environment in to the input method, so that it * Bind a new application environment in to the input method, so that it
* can later start and stop input processing. * can later start and stop input processing.

View File

@@ -35,7 +35,7 @@ import com.android.internal.view.InlineSuggestionsRequestInfo;
* {@hide} * {@hide}
*/ */
oneway interface IInputMethod { oneway interface IInputMethod {
void initializeInternal(IBinder token, int displayId, IInputMethodPrivilegedOperations privOps, void initializeInternal(IBinder token, IInputMethodPrivilegedOperations privOps,
int configChanges); int configChanges);
void onCreateInlineSuggestionsRequest(in InlineSuggestionsRequestInfo requestInfo, void onCreateInlineSuggestionsRequest(in InlineSuggestionsRequestInfo requestInfo,

View File

@@ -2544,9 +2544,8 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
} }
if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + mCurToken); if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + mCurToken);
// Dispatch display id for InputMethodService to update context display. // Dispatch display id for InputMethodService to update context display.
executeOrSendMessage(mCurMethod, mCaller.obtainMessageIOOO( executeOrSendMessage(mCurMethod, mCaller.obtainMessageIOO(MSG_INITIALIZE_IME,
MSG_INITIALIZE_IME, mCurTokenDisplayId, mCurMethod, mCurToken, mMethodMap.get(mCurMethodId).getConfigChanges(), mCurMethod, mCurToken));
mMethodMap.get(mCurMethodId).getConfigChanges()));
scheduleNotifyImeUidToAudioService(mCurMethodUid); scheduleNotifyImeUidToAudioService(mCurMethodUid);
if (mCurClient != null) { if (mCurClient != null) {
clearClientSessionLocked(mCurClient); clearClientSessionLocked(mCurClient);
@@ -4364,12 +4363,11 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
try { try {
if (DEBUG) { if (DEBUG) {
Slog.v(TAG, "Sending attach of token: " + args.arg2 + " for display: " Slog.v(TAG, "Sending attach of token: " + args.arg2 + " for display: "
+ msg.arg1); + mCurTokenDisplayId);
} }
final IBinder token = (IBinder) args.arg2; final IBinder token = (IBinder) args.arg2;
((IInputMethod) args.arg1).initializeInternal(token, msg.arg1, ((IInputMethod) args.arg1).initializeInternal(token,
new InputMethodPrivilegedOperationsImpl(this, token), new InputMethodPrivilegedOperationsImpl(this, token), msg.arg1);
(int) args.arg3);
} catch (RemoteException e) { } catch (RemoteException e) {
} }
args.recycle(); args.recycle();