aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/de/pixart/messenger/ui/ConversationFragment.java25
-rw-r--r--src/main/res/layout/fragment_conversation.xml2
-rw-r--r--src/main/res/values/defaults.xml1
3 files changed, 18 insertions, 10 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
index ec9dcf8f0..14a2f4608 100644
--- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
+++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java
@@ -60,6 +60,7 @@ import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;
import net.java.otr4j.session.SessionStatus;
+import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent;
import java.io.File;
import java.io.IOException;
@@ -176,6 +177,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
private Toast messageLoaderToast;
private ConversationsActivity activity;
private boolean reInitRequiredOnStart = true;
+ private boolean KeyboardOpen = false;
private SimpleFingerGestures gesturesDetector = new SimpleFingerGestures();
@@ -445,13 +447,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
}
};
- private OnClickListener mRecordVoiceButtonListener = new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- attachFile(ATTACHMENT_CHOICE_RECORD_VOICE);
- }
- };
+ private OnClickListener mRecordVoiceButtonListener = v -> attachFile(ATTACHMENT_CHOICE_RECORD_VOICE);
private OnClickListener mSendButtonListener = new OnClickListener() {
@@ -1167,6 +1163,13 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
+ KeyboardVisibilityEvent.setEventListener(
+ getActivity(),
+ isOpen -> {
+ Log.d(Config.LOGTAG, "Keyboard open " + isOpen);
+ KeyboardOpen = isOpen;
+ showRecordVoiceButton();
+ });
}
@Override
@@ -1302,11 +1305,15 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
}
private void showRecordVoiceButton() {
+ if (!isAdded()) {
+ return;
+ }
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(activity);
final boolean ShowRecordVoiceButton = p.getBoolean("show_record_voice_btn", activity.getResources().getBoolean(R.bool.show_record_voice_btn));
- Log.d(Config.LOGTAG, "Recorder " + ShowRecordVoiceButton);
- if (ShowRecordVoiceButton) {
+ if (ShowRecordVoiceButton && !KeyboardOpen) {
binding.recordVoiceButton.setVisibility(View.VISIBLE);
+ } else if (KeyboardOpen) {
+ binding.recordVoiceButton.setVisibility(View.GONE);
} else {
binding.recordVoiceButton.setVisibility(View.GONE);
}
diff --git a/src/main/res/layout/fragment_conversation.xml b/src/main/res/layout/fragment_conversation.xml
index d081b6543..4bec6d9e1 100644
--- a/src/main/res/layout/fragment_conversation.xml
+++ b/src/main/res/layout/fragment_conversation.xml
@@ -57,7 +57,7 @@
<RelativeLayout
android:id="@+id/textsend"
-
+ android:animateLayoutChanges="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
diff --git a/src/main/res/values/defaults.xml b/src/main/res/values/defaults.xml
index 214dbe642..e766d101c 100644
--- a/src/main/res/values/defaults.xml
+++ b/src/main/res/values/defaults.xml
@@ -52,6 +52,7 @@
\n\nhttps://www.openstreetmap.org/\n(Open Database License)
\n\nhttp://xmpp.rocks/\n(The MIT License (MIT))
\n\nhttps://github.com/championswimmer/SimpleFingerGestures_Android_Library/\n(Apache License, Version 2.0)
+ \n\nhttps://github.com/yshrsmz/KeyboardVisibilityEvent/\n(Apache License, Version 2.0)
</string>
<string name="default_resource" translatable="false">Phone</string>