Use WeakReference#refersTo() when possible
For a given WeakReference<T> ref, ref.refersTo(obj) is more efficient than ref.get() == obj. This CL applies the above rule to RemoteInputConnectionImpl for a better performance. This is mechanical refactoring. There must be no observable behavior change. Bug: 182259171 Test: presubmit Change-Id: Iddf73b0fcb16a14f6c024da4a7db136d4fea4900
This commit is contained in:
@@ -994,7 +994,7 @@ public final class InputMethodManager {
|
||||
|
||||
return mServedInputConnection != null
|
||||
&& mServedInputConnection.isActive()
|
||||
&& mServedInputConnection.getServedView() == view;
|
||||
&& mServedInputConnection.isAssociatedWith(view);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -218,10 +218,26 @@ final class RemoteInputConnectionImpl extends IRemoteInputConnection.Stub {
|
||||
return mParentInputMethodManager.isActive() && !isFinished();
|
||||
}
|
||||
|
||||
public View getServedView() {
|
||||
private View getServedView() {
|
||||
return mServedView.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Queries if the given {@link View} is associated with this {@link RemoteInputConnectionImpl}
|
||||
* or not.
|
||||
*
|
||||
* @param view {@link View}.
|
||||
* @return {@code true} if the given {@link View} is not null and is associated with this
|
||||
* {@link RemoteInputConnectionImpl}.
|
||||
*/
|
||||
@AnyThread
|
||||
public boolean isAssociatedWith(@Nullable View view) {
|
||||
if (view == null) {
|
||||
return false;
|
||||
}
|
||||
return mServedView.refersTo(view);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets and resets {@link #mHasPendingImmediateCursorAnchorInfoUpdate}.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user