From db9b8816804214a729897018d03bfacc7a261753 Mon Sep 17 00:00:00 2001 From: Nikolas Havrikov Date: Thu, 11 Nov 2021 13:53:30 +0100 Subject: [PATCH] Inline getters and setters in binding controller This is the counterpart step to the encapsulation refactoring. Bug: 205676419 Test: make Change-Id: I3b7d4ceaf62d42af303e3c00d98eb28711cc539c --- .../InputMethodBindingController.java | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java index 765672c00bb2e..ae5eb21fc0750 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodBindingController.java @@ -224,9 +224,9 @@ final class InputMethodBindingController { private final ServiceConnection mVisibleConnection = new ServiceConnection() { @Override public void onBindingDied(ComponentName name) { synchronized (mMethodMap) { - if (isVisibleBound()) { - mContext.unbindService(getVisibleConnection()); - setVisibleBound(false); + if (mVisibleBound) { + mContext.unbindService(mVisibleConnection); + mVisibleBound = false; } } } @@ -251,31 +251,30 @@ final class InputMethodBindingController { public void onServiceConnected(ComponentName name, IBinder service) { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "IMMS.onServiceConnected"); synchronized (mMethodMap) { - if (getCurIntent() != null && name.equals(getCurIntent().getComponent())) { - setCurMethod(IInputMethod.Stub.asInterface(service)); - final String curMethodPackage = - getCurIntent().getComponent().getPackageName(); + if (mCurIntent != null && name.equals(mCurIntent.getComponent())) { + mCurMethod = IInputMethod.Stub.asInterface(service); + final String curMethodPackage = mCurIntent.getComponent().getPackageName(); final int curMethodUid = mPackageManagerInternal.getPackageUid( curMethodPackage, 0 /* flags */, mSettings.getCurrentUserId()); if (curMethodUid < 0) { Slog.e(TAG, "Failed to get UID for package=" + curMethodPackage); - setCurMethodUid(Process.INVALID_UID); + mCurMethodUid = Process.INVALID_UID; } else { - setCurMethodUid(curMethodUid); + mCurMethodUid = curMethodUid; } - if (getCurToken() == null) { + if (mCurToken == null) { Slog.w(TAG, "Service connected without a token!"); mService.unbindCurrentMethodLocked(); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); return; } - if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + getCurToken()); + if (DEBUG) Slog.v(TAG, "Initiating attach with token: " + mCurToken); // Dispatch display id for InputMethodService to update context display. - mService.executeOrSendMessage(getCurMethod(), + mService.executeOrSendMessage(mCurMethod, mService.mCaller.obtainMessageIOO(MSG_INITIALIZE_IME, - mMethodMap.get(getSelectedMethodId()).getConfigChanges(), - getCurMethod(), getCurToken())); - mService.scheduleNotifyImeUidToAudioService(getCurMethodUid()); + mMethodMap.get(mSelectedMethodId).getConfigChanges(), + mCurMethod, mCurToken)); + mService.scheduleNotifyImeUidToAudioService(mCurMethodUid); ClientState curClient = mService.getCurClient(); if (curClient != null) { mService.clearClientSessionLocked(curClient); @@ -287,7 +286,7 @@ final class InputMethodBindingController { } @Override - public void onServiceDisconnected(ComponentName name) { + public void onServiceDisconnected(@NonNull ComponentName name) { // Note that mContext.unbindService(this) does not trigger this. Hence if we are // here the // disconnection is not intended by IMMS (e.g. triggered because the current IMS @@ -301,15 +300,14 @@ final class InputMethodBindingController { // would be a good way to trigger such a situation. synchronized (mMethodMap) { if (DEBUG) { - Slog.v(TAG, "Service disconnected: " + name - + " mCurIntent=" + getCurIntent()); + Slog.v(TAG, "Service disconnected: " + name + " mCurIntent=" + mCurIntent); } - if (getCurMethod() != null && getCurIntent() != null - && name.equals(getCurIntent().getComponent())) { + if (mCurMethod != null && mCurIntent != null + && name.equals(mCurIntent.getComponent())) { mService.clearCurMethodLocked(); // We consider this to be a new bind attempt, since the system // should now try to restart the service for us. - setLastBindTime(SystemClock.uptimeMillis()); + mLastBindTime = SystemClock.uptimeMillis(); mService.setShowRequested(mService.isInputShown()); mService.setInputShown(false); mService.unbindCurrentClientLocked(UnbindReason.DISCONNECT_IME);