diff --git a/app/src/main/java/eu/faircode/email/ActivityBase.java b/app/src/main/java/eu/faircode/email/ActivityBase.java index cca34791ec..5daa27bc4d 100644 --- a/app/src/main/java/eu/faircode/email/ActivityBase.java +++ b/app/src/main/java/eu/faircode/email/ActivityBase.java @@ -372,7 +372,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc public boolean dispatchKeyEvent(KeyEvent event) { int keyCode = event.getKeyCode(); for (IKeyPressedListener listener : keyPressedListeners) - if (listener.onKeyPressed(keyCode)) + if (listener.onKeyPressed(event)) return true; return super.dispatchKeyEvent(event); } @@ -397,7 +397,7 @@ abstract class ActivityBase extends AppCompatActivity implements SharedPreferenc } public interface IKeyPressedListener { - boolean onKeyPressed(int keyCode); + boolean onKeyPressed(KeyEvent event); boolean onBackPressed(); } diff --git a/app/src/main/java/eu/faircode/email/FragmentAccount.java b/app/src/main/java/eu/faircode/email/FragmentAccount.java index 1d59d60fb5..e37eec3b6d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccount.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccount.java @@ -34,6 +34,7 @@ import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.LinkMovementMethod; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -442,7 +443,7 @@ public class FragmentAccount extends FragmentBase { addKeyPressedListener(new ActivityBase.IKeyPressedListener() { @Override - public boolean onKeyPressed(int keyCode) { + public boolean onKeyPressed(KeyEvent event) { return false; } diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index b96f351eac..133f822e68 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -64,6 +64,7 @@ import android.text.style.ImageSpan; import android.text.style.QuoteSpan; import android.text.style.StyleSpan; import android.util.TypedValue; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -630,7 +631,7 @@ public class FragmentCompose extends FragmentBase { //view.getViewTreeObserver().addOnGlobalLayoutListener(layoutListener); - addKeyPressedListener(onBackPressedListener); + addKeyPressedListener(onKeyPressedListener); // Initialize setHasOptionsMenu(true); @@ -4204,9 +4205,13 @@ public class FragmentCompose extends FragmentBase { } }; - private ActivityBase.IKeyPressedListener onBackPressedListener = new ActivityBase.IKeyPressedListener() { + private ActivityBase.IKeyPressedListener onKeyPressedListener = new ActivityBase.IKeyPressedListener() { @Override - public boolean onKeyPressed(int keyCode) { + public boolean onKeyPressed(KeyEvent event) { + if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER && event.isCtrlPressed()) { + onActionSend(false); + return true; + } return false; } diff --git a/app/src/main/java/eu/faircode/email/FragmentFolder.java b/app/src/main/java/eu/faircode/email/FragmentFolder.java index 2f72232dd3..393953b1d9 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolder.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolder.java @@ -25,6 +25,7 @@ import android.graphics.Color; import android.os.Bundle; import android.os.Handler; import android.text.TextUtils; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -173,7 +174,7 @@ public class FragmentFolder extends FragmentBase { addKeyPressedListener(new ActivityBase.IKeyPressedListener() { @Override - public boolean onKeyPressed(int keyCode) { + public boolean onKeyPressed(KeyEvent event) { return false; } diff --git a/app/src/main/java/eu/faircode/email/FragmentIdentity.java b/app/src/main/java/eu/faircode/email/FragmentIdentity.java index 3fbb7407a6..26a89d686e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentIdentity.java @@ -36,6 +36,7 @@ import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.LinkMovementMethod; import android.util.Patterns; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -474,7 +475,7 @@ public class FragmentIdentity extends FragmentBase { addKeyPressedListener(new ActivityBase.IKeyPressedListener() { @Override - public boolean onKeyPressed(int keyCode) { + public boolean onKeyPressed(KeyEvent event) { return false; } diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index aba2b20d13..2e82d402cd 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -4182,7 +4182,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private ActivityBase.IKeyPressedListener onBackPressedListener = new ActivityBase.IKeyPressedListener() { @Override - public boolean onKeyPressed(int keyCode) { + public boolean onKeyPressed(KeyEvent event) { if (viewType != AdapterMessage.ViewType.THREAD) return false; @@ -4195,7 +4195,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (!volumenav) return false; - switch (keyCode) { + switch (event.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_UP: if (next == null) { Animation bounce = AnimationUtils.loadAnimation(getContext(), R.anim.bounce_left);