From b12733481bccbdec784a5b1ad9dae54689d56d70 Mon Sep 17 00:00:00 2001 From: Daichi Hirono Date: Thu, 14 Apr 2016 14:40:47 +0900 Subject: [PATCH] Filter out ACTION_UP events in onKey() listener. Previously we invokes performeSave both for ACTION_DOWN and ACTION_UP, thus it creates two documents. Change-Id: I7fc2a62c34fc239c2bf3ca6c71122e360d589727 Fixes: 28179791 --- .../src/com/android/documentsui/SaveFragment.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java index f3b750a3632c5..d830c61f30e71 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/SaveFragment.java @@ -84,6 +84,13 @@ public class SaveFragment extends Fragment { new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { + // Only handle key-down events. This is simpler, consistent with most other + // UIs, and enables the handling of repeated key events from holding down a + // key. + if (event.getAction() != KeyEvent.ACTION_DOWN) { + return false; + } + if (keyCode == KeyEvent.KEYCODE_ENTER && mSave.isEnabled()) { performSave(); return true;