Merge "Move call to hide IME until next frame" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f505fefdd6
@@ -32,6 +32,7 @@ import android.animation.ValueAnimator;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Insets;
|
import android.graphics.Insets;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
|
import android.os.Trace;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.WindowInsetsAnimationControlListener;
|
import android.view.WindowInsetsAnimationControlListener;
|
||||||
import android.view.WindowInsetsAnimationController;
|
import android.view.WindowInsetsAnimationController;
|
||||||
@@ -44,6 +45,7 @@ import androidx.annotation.Nullable;
|
|||||||
|
|
||||||
import com.android.internal.widget.LockscreenCredential;
|
import com.android.internal.widget.LockscreenCredential;
|
||||||
import com.android.internal.widget.TextViewInputDisabler;
|
import com.android.internal.widget.TextViewInputDisabler;
|
||||||
|
import com.android.systemui.DejankUtils;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.animation.Interpolators;
|
import com.android.systemui.animation.Interpolators;
|
||||||
/**
|
/**
|
||||||
@@ -194,9 +196,17 @@ public class KeyguardPasswordView extends KeyguardAbsKeyInputView {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAnimationEnd(Animator animation) {
|
public void onAnimationEnd(Animator animation) {
|
||||||
controller.finish(false);
|
// Run this in the next frame since it results in a slow binder call
|
||||||
runOnFinishImeAnimationRunnable();
|
// to InputMethodManager#hideSoftInput()
|
||||||
finishRunnable.run();
|
DejankUtils.postAfterTraversal(() -> {
|
||||||
|
Trace.beginSection("KeyguardPasswordView#onAnimationEnd");
|
||||||
|
// // TODO(b/230620476): Make hideSoftInput oneway
|
||||||
|
// controller.finish() eventually calls hideSoftInput
|
||||||
|
controller.finish(false);
|
||||||
|
runOnFinishImeAnimationRunnable();
|
||||||
|
finishRunnable.run();
|
||||||
|
Trace.endSection();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
anim.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN);
|
anim.setInterpolator(Interpolators.FAST_OUT_LINEAR_IN);
|
||||||
|
|||||||
Reference in New Issue
Block a user