am defa46ea: am e3f3bd5f: am 7cb8e422: am 542d5be2: Merge "Capture ctrl+enter for send shortcut" into ub-gmail-ur14-dev

* commit 'defa46eaefec1fa36ec5c195d87451fff80617da':
  Capture ctrl+enter for send shortcut
diff --git a/src/com/android/mail/compose/ComposeActivity.java b/src/com/android/mail/compose/ComposeActivity.java
index 20f2b95..42c0ce7 100644
--- a/src/com/android/mail/compose/ComposeActivity.java
+++ b/src/com/android/mail/compose/ComposeActivity.java
@@ -343,6 +343,19 @@
     private boolean mRespondedInline;
     private boolean mPerformedSendOrDiscard = false;
 
+    // OnKeyListener solely used for intercepting CTRL+ENTER event for SEND.
+    private final View.OnKeyListener mKeyListenerForSendShortcut = new View.OnKeyListener() {
+        @Override
+        public boolean onKey(View v, int keyCode, KeyEvent event) {
+            if (event.hasModifiers(KeyEvent.META_CTRL_ON) &&
+                    keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
+                doSend();
+                return true;
+            }
+            return false;
+        }
+    };
+
     private final HtmlTree.ConverterFactory mSpanConverterFactory =
             new HtmlTree.ConverterFactory() {
             @Override
@@ -1331,20 +1344,25 @@
         mCcBccView = (CcBccView) findViewById(R.id.cc_bcc_wrapper);
         mAttachmentsView = (AttachmentsView)findViewById(R.id.attachments);
         mTo = (RecipientEditTextView) findViewById(R.id.to);
+        mTo.setOnKeyListener(mKeyListenerForSendShortcut);
         initializeRecipientEditTextView(mTo);
         mTo.setAlternatePopupAnchor(findViewById(R.id.compose_to_dropdown_anchor));
         mCc = (RecipientEditTextView) findViewById(R.id.cc);
+        mCc.setOnKeyListener(mKeyListenerForSendShortcut);
         initializeRecipientEditTextView(mCc);
         mBcc = (RecipientEditTextView) findViewById(R.id.bcc);
+        mBcc.setOnKeyListener(mKeyListenerForSendShortcut);
         initializeRecipientEditTextView(mBcc);
         // TODO: add special chips text change watchers before adding
         // this as a text changed watcher to the to, cc, bcc fields.
         mSubject = (TextView) findViewById(R.id.subject);
+        mSubject.setOnKeyListener(mKeyListenerForSendShortcut);
         mSubject.setOnEditorActionListener(this);
         mSubject.setOnFocusChangeListener(this);
         mQuotedTextView = (QuotedTextView) findViewById(R.id.quoted_text_view);
         mQuotedTextView.setRespondInlineListener(this);
         mBodyView = (EditText) findViewById(R.id.body);
+        mBodyView.setOnKeyListener(mKeyListenerForSendShortcut);
         mBodyView.setOnFocusChangeListener(this);
         mFromStatic = findViewById(R.id.static_from_content);
         mFromStaticText = (TextView) findViewById(R.id.from_account_name);