summaryrefslogtreecommitdiffstats
path: root/packages/PrintSpooler
diff options
context:
space:
mode:
Diffstat (limited to 'packages/PrintSpooler')
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java b/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java
index 555aa97..efb030e 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/widget/PrintContentView.java
@@ -22,6 +22,7 @@ import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import android.view.inputmethod.InputMethodManager;
import com.android.printspooler.R;
/**
@@ -301,6 +302,7 @@ public final class PrintContentView extends ViewGroup implements View.OnClickLis
mSummaryContent.setLayerType(View.LAYER_TYPE_HARDWARE, null);
mDraggableContent.setLayerType(View.LAYER_TYPE_HARDWARE, null);
mMoreOptionsContainer.setLayerType(View.LAYER_TYPE_HARDWARE, null);
+ ensureImeClosedAndInputFocusCleared();
}
if ((mDragProgress > 0 && progress == 0)
|| (mDragProgress < 1.0f && progress == 1.0f)) {
@@ -351,6 +353,18 @@ public final class PrintContentView extends ViewGroup implements View.OnClickLis
}
}
+ private void ensureImeClosedAndInputFocusCleared() {
+ View focus = findFocus();
+ if (focus != null) {
+ InputMethodManager imm = (InputMethodManager) mContext.getSystemService(
+ Context.INPUT_METHOD_SERVICE);
+ if (imm.isActive(focus)) {
+ imm.hideSoftInputFromWindow(getWindowToken(), 0);
+ }
+ focus.clearFocus();
+ }
+ }
+
private final class DragCallbacks extends ViewDragHelper.Callback {
@Override
public boolean tryCaptureView(View child, int pointerId) {