mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-03 15:05:24 +00:00
Disable AudioView controls clicks when message is selected
Fixes: #5898 Closes #6054
This commit is contained in:
parent
333a0f38e3
commit
970448d43d
@ -252,6 +252,12 @@ public class ConversationItem extends LinearLayout
|
|||||||
mediaThumbnailStub.get().setClickable(!shouldInterceptClicks(messageRecord) && batchSelected.isEmpty());
|
mediaThumbnailStub.get().setClickable(!shouldInterceptClicks(messageRecord) && batchSelected.isEmpty());
|
||||||
mediaThumbnailStub.get().setLongClickable(batchSelected.isEmpty());
|
mediaThumbnailStub.get().setLongClickable(batchSelected.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (audioViewStub.resolved()) {
|
||||||
|
audioViewStub.get().setFocusable(!shouldInterceptClicks(messageRecord) && batchSelected.isEmpty());
|
||||||
|
audioViewStub.get().setClickable(batchSelected.isEmpty());
|
||||||
|
audioViewStub.get().setEnabled(batchSelected.isEmpty());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isCaptionlessMms(MessageRecord messageRecord) {
|
private boolean isCaptionlessMms(MessageRecord messageRecord) {
|
||||||
|
@ -12,6 +12,7 @@ import android.support.annotation.NonNull;
|
|||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
@ -157,6 +158,35 @@ public class AudioView extends FrameLayout implements AudioSlidePlayer.Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setFocusable(boolean focusable) {
|
||||||
|
super.setFocusable(focusable);
|
||||||
|
this.playButton.setFocusable(focusable);
|
||||||
|
this.pauseButton.setFocusable(focusable);
|
||||||
|
this.seekBar.setFocusable(focusable);
|
||||||
|
this.seekBar.setFocusableInTouchMode(focusable);
|
||||||
|
this.downloadButton.setFocusable(focusable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setClickable(boolean clickable) {
|
||||||
|
super.setClickable(clickable);
|
||||||
|
this.playButton.setClickable(clickable);
|
||||||
|
this.pauseButton.setClickable(clickable);
|
||||||
|
this.seekBar.setClickable(clickable);
|
||||||
|
this.seekBar.setOnTouchListener(clickable ? null : new TouchIgnoringListener());
|
||||||
|
this.downloadButton.setClickable(clickable);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnabled(boolean enabled) {
|
||||||
|
super.setEnabled(enabled);
|
||||||
|
this.playButton.setEnabled(enabled);
|
||||||
|
this.pauseButton.setEnabled(enabled);
|
||||||
|
this.seekBar.setEnabled(enabled);
|
||||||
|
this.downloadButton.setEnabled(enabled);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onProgress(double progress, long millis) {
|
public void onProgress(double progress, long millis) {
|
||||||
int seekProgress = (int)Math.floor(progress * this.seekBar.getMax());
|
int seekProgress = (int)Math.floor(progress * this.seekBar.getMax());
|
||||||
@ -286,6 +316,13 @@ public class AudioView extends FrameLayout implements AudioSlidePlayer.Listener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class TouchIgnoringListener implements OnTouchListener {
|
||||||
|
@Override
|
||||||
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public void onEventAsync(final PartProgressEvent event) {
|
public void onEventAsync(final PartProgressEvent event) {
|
||||||
if (audioSlidePlayer != null && event.attachment.equals(this.audioSlidePlayer.getAudioSlide().asAttachment())) {
|
if (audioSlidePlayer != null && event.attachment.equals(this.audioSlidePlayer.getAudioSlide().asAttachment())) {
|
||||||
|
Loading…
Reference in New Issue
Block a user