hide record voice button if keyboard is open
This commit is contained in:
parent
c1060dc1fe
commit
18cf7c40c2
4 changed files with 19 additions and 10 deletions
|
@ -76,6 +76,7 @@ dependencies {
|
|||
implementation 'in.championswimmer:SimpleFingerGestures_Android_Library:1.2'
|
||||
implementation 'rocks.xmpp:xmpp-addr:0.8.0'
|
||||
implementation 'org.hsluv:hsluv:0.2'
|
||||
implementation 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.1.0'
|
||||
}
|
||||
|
||||
ext {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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>
|
||||
|
|
Reference in a new issue