Fix missing background on video player bar.
This commit is contained in:
parent
aa67c82634
commit
ce31e642dd
4 changed files with 41 additions and 21 deletions
|
@ -57,6 +57,7 @@ import android.view.View.OnKeyListener;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
@ -381,7 +382,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||||
private MenuItem searchViewItem;
|
private MenuItem searchViewItem;
|
||||||
private MessageRequestsBottomView messageRequestBottomView;
|
private MessageRequestsBottomView messageRequestBottomView;
|
||||||
private ConversationReactionDelegate reactionDelegate;
|
private ConversationReactionDelegate reactionDelegate;
|
||||||
private Stub<VoiceNotePlayerView> voiceNotePlayerViewStub;
|
private Stub<FrameLayout> voiceNotePlayerViewStub;
|
||||||
|
|
||||||
private AttachmentManager attachmentManager;
|
private AttachmentManager attachmentManager;
|
||||||
private AudioRecorder audioRecorder;
|
private AudioRecorder audioRecorder;
|
||||||
|
@ -413,6 +414,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||||
private VoiceRecorderWakeLock voiceRecorderWakeLock;
|
private VoiceRecorderWakeLock voiceRecorderWakeLock;
|
||||||
private DraftViewModel draftViewModel;
|
private DraftViewModel draftViewModel;
|
||||||
private VoiceNoteMediaController voiceNoteMediaController;
|
private VoiceNoteMediaController voiceNoteMediaController;
|
||||||
|
private VoiceNotePlayerView voiceNotePlayerView;
|
||||||
|
|
||||||
|
|
||||||
private LiveRecipient recipient;
|
private LiveRecipient recipient;
|
||||||
|
@ -2076,19 +2078,25 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
||||||
|
|
||||||
voiceNoteMediaController.getVoiceNotePlayerViewState().observe(this, state -> {
|
voiceNoteMediaController.getVoiceNotePlayerViewState().observe(this, state -> {
|
||||||
if (state.isPresent()) {
|
if (state.isPresent()) {
|
||||||
if (!voiceNotePlayerViewStub.resolved()) {
|
requireVoiceNotePlayerView().show();
|
||||||
voiceNotePlayerViewStub.get().setListener(new VoiceNotePlayerViewListener());
|
requireVoiceNotePlayerView().setState(state.get());
|
||||||
}
|
|
||||||
voiceNotePlayerViewStub.get().show();
|
|
||||||
voiceNotePlayerViewStub.get().setState(state.get());
|
|
||||||
} else if (voiceNotePlayerViewStub.resolved()) {
|
} else if (voiceNotePlayerViewStub.resolved()) {
|
||||||
voiceNotePlayerViewStub.get().hide();
|
requireVoiceNotePlayerView().hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
voiceNoteMediaController.getVoiceNotePlaybackState().observe(ConversationActivity.this, inputPanel.getPlaybackStateObserver());
|
voiceNoteMediaController.getVoiceNotePlaybackState().observe(ConversationActivity.this, inputPanel.getPlaybackStateObserver());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private @NonNull VoiceNotePlayerView requireVoiceNotePlayerView() {
|
||||||
|
if (voiceNotePlayerView == null) {
|
||||||
|
voiceNotePlayerView = voiceNotePlayerViewStub.get().findViewById(R.id.voice_note_player_view);
|
||||||
|
voiceNotePlayerView.setListener(new VoiceNotePlayerViewListener());
|
||||||
|
}
|
||||||
|
|
||||||
|
return voiceNotePlayerView;
|
||||||
|
}
|
||||||
|
|
||||||
private void updateWallpaper(@Nullable ChatWallpaper chatWallpaper) {
|
private void updateWallpaper(@Nullable ChatWallpaper chatWallpaper) {
|
||||||
Log.d(TAG, "Setting wallpaper.");
|
Log.d(TAG, "Setting wallpaper.");
|
||||||
if (chatWallpaper != null) {
|
if (chatWallpaper != null) {
|
||||||
|
|
|
@ -38,6 +38,7 @@ import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
@ -58,8 +59,6 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
import androidx.constraintlayout.widget.ConstraintSet;
|
import androidx.constraintlayout.widget.ConstraintSet;
|
||||||
import androidx.core.content.res.ResourcesCompat;
|
import androidx.core.content.res.ResourcesCompat;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import androidx.fragment.app.DialogFragment;
|
||||||
import androidx.lifecycle.LifecycleOwner;
|
|
||||||
import androidx.lifecycle.Observer;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
|
@ -92,7 +91,6 @@ import org.thoughtcrime.securesms.components.reminder.ReminderView;
|
||||||
import org.thoughtcrime.securesms.components.reminder.ServiceOutageReminder;
|
import org.thoughtcrime.securesms.components.reminder.ServiceOutageReminder;
|
||||||
import org.thoughtcrime.securesms.components.reminder.UnauthorizedReminder;
|
import org.thoughtcrime.securesms.components.reminder.UnauthorizedReminder;
|
||||||
import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity;
|
import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity;
|
||||||
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController;
|
|
||||||
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner;
|
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner;
|
||||||
import org.thoughtcrime.securesms.components.voice.VoiceNotePlayerView;
|
import org.thoughtcrime.securesms.components.voice.VoiceNotePlayerView;
|
||||||
import org.thoughtcrime.securesms.conversation.ConversationFragment;
|
import org.thoughtcrime.securesms.conversation.ConversationFragment;
|
||||||
|
@ -195,7 +193,9 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
||||||
private Drawable archiveDrawable;
|
private Drawable archiveDrawable;
|
||||||
private AppForegroundObserver.Listener appForegroundObserver;
|
private AppForegroundObserver.Listener appForegroundObserver;
|
||||||
private VoiceNoteMediaControllerOwner mediaControllerOwner;
|
private VoiceNoteMediaControllerOwner mediaControllerOwner;
|
||||||
private Stub<VoiceNotePlayerView> voiceNotePlayerViewStub;
|
private Stub<FrameLayout> voiceNotePlayerViewStub;
|
||||||
|
private VoiceNotePlayerView voiceNotePlayerView;
|
||||||
|
|
||||||
|
|
||||||
private Stopwatch startupStopwatch;
|
private Stopwatch startupStopwatch;
|
||||||
|
|
||||||
|
@ -531,18 +531,24 @@ public class ConversationListFragment extends MainFragment implements ActionMode
|
||||||
private void initializeVoiceNotePlayer() {
|
private void initializeVoiceNotePlayer() {
|
||||||
mediaControllerOwner.getVoiceNoteMediaController().getVoiceNotePlayerViewState().observe(getViewLifecycleOwner(), state -> {
|
mediaControllerOwner.getVoiceNoteMediaController().getVoiceNotePlayerViewState().observe(getViewLifecycleOwner(), state -> {
|
||||||
if (state.isPresent()) {
|
if (state.isPresent()) {
|
||||||
if (!voiceNotePlayerViewStub.resolved()) {
|
requireVoiceNotePlayerView().setState(state.get());
|
||||||
voiceNotePlayerViewStub.get().setListener(new VoiceNotePlayerViewListener());
|
requireVoiceNotePlayerView().show();
|
||||||
}
|
|
||||||
|
|
||||||
voiceNotePlayerViewStub.get().setState(state.get());
|
|
||||||
voiceNotePlayerViewStub.get().show();
|
|
||||||
} else if (voiceNotePlayerViewStub.resolved()) {
|
} else if (voiceNotePlayerViewStub.resolved()) {
|
||||||
voiceNotePlayerViewStub.get().hide();
|
requireVoiceNotePlayerView().hide();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private @NonNull VoiceNotePlayerView requireVoiceNotePlayerView() {
|
||||||
|
if (voiceNotePlayerView == null) {
|
||||||
|
voiceNotePlayerView = voiceNotePlayerViewStub.get().findViewById(R.id.voice_note_player_view);
|
||||||
|
voiceNotePlayerView.setListener(new VoiceNotePlayerViewListener());
|
||||||
|
}
|
||||||
|
|
||||||
|
return voiceNotePlayerView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void initializeListAdapters() {
|
private void initializeListAdapters() {
|
||||||
defaultAdapter = new ConversationListAdapter(GlideApp.with(this), this);
|
defaultAdapter = new ConversationListAdapter(GlideApp.with(this), this);
|
||||||
searchAdapter = new ConversationListSearchAdapter(GlideApp.with(this), this, Locale.getDefault());
|
searchAdapter = new ConversationListSearchAdapter(GlideApp.with(this), this, Locale.getDefault());
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<org.thoughtcrime.securesms.components.voice.VoiceNotePlayerView xmlns:android="http://schemas.android.com/apk/res/android"
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@color/voice_note_player_view_background">
|
||||||
|
|
||||||
|
<org.thoughtcrime.securesms.components.voice.VoiceNotePlayerView
|
||||||
|
android:id="@+id/voice_note_player_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?selectableItemBackground" />
|
android:background="?selectableItemBackground" />
|
||||||
|
</FrameLayout>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:background="@color/voice_note_player_view_background"
|
|
||||||
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
|
||||||
|
|
||||||
<com.airbnb.lottie.LottieAnimationView
|
<com.airbnb.lottie.LottieAnimationView
|
||||||
|
|
Loading…
Add table
Reference in a new issue