-Modified playback parameter dialog to use translucent background.

This commit is contained in:
John Zhen Mo 2018-03-24 12:58:11 -07:00
parent 5ded1b139f
commit 5fa56f2aca
3 changed files with 42 additions and 18 deletions

View File

@ -453,8 +453,8 @@ public abstract class ServicePlayerActivity extends AppCompatActivity
private void openPlaybackParameterDialog() { private void openPlaybackParameterDialog() {
if (player == null) return; if (player == null) return;
PlaybackParameterDialog.newInstance(player.getPlaybackSpeed(), PlaybackParameterDialog.newInstance(player.getPlaybackSpeed(), player.getPlaybackPitch())
player.getPlaybackPitch()).show(getSupportFragmentManager(), getTag()); .show(getSupportFragmentManager(), getTag());
} }
@Override @Override

View File

@ -2,11 +2,12 @@ package org.schabi.newpipe.player.helper;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.ColorInt;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v4.app.DialogFragment; import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.CheckBox; import android.widget.CheckBox;
@ -15,6 +16,7 @@ import android.widget.TextView;
import org.schabi.newpipe.R; import org.schabi.newpipe.R;
import org.schabi.newpipe.util.SliderStrategy; import org.schabi.newpipe.util.SliderStrategy;
import org.schabi.newpipe.util.ThemeHelper;
import static org.schabi.newpipe.player.BasePlayer.DEBUG; import static org.schabi.newpipe.player.BasePlayer.DEBUG;
@ -68,6 +70,7 @@ public class PlaybackParameterDialog extends DialogFragment {
@Nullable private CheckBox unhookingCheckbox; @Nullable private CheckBox unhookingCheckbox;
@Nullable private TextView nightCorePresetText; @Nullable private TextView nightCorePresetText;
@Nullable private TextView defaultPresetText;
@Nullable private TextView resetPresetText; @Nullable private TextView resetPresetText;
public static PlaybackParameterDialog newInstance(final double playbackTempo, public static PlaybackParameterDialog newInstance(final double playbackTempo,
@ -115,19 +118,23 @@ public class PlaybackParameterDialog extends DialogFragment {
@NonNull @NonNull
@Override @Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Context context = requireContext();
final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null); final View view = View.inflate(getContext(), R.layout.dialog_playback_parameter, null);
setupControlViews(view); setupControlViews(view);
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireActivity()) Dialog dialog = new Dialog(context);
.setTitle(R.string.playback_speed_control) dialog.setCancelable(true);
.setView(view) dialog.setCanceledOnTouchOutside(true);
.setCancelable(true) dialog.setTitle(R.string.playback_speed_control);
.setNegativeButton(R.string.cancel, (dialogInterface, i) -> dialog.setContentView(view);
setPlaybackParameters(initialTempo, initialPitch)) if (dialog.getWindow() != null) {
.setPositiveButton(R.string.finish, (dialogInterface, i) -> @ColorInt final int backgroundColor = ThemeHelper.resolveColorFromAttr(context,
setCurrentPlaybackParameters()); R.attr.queue_background_color);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(backgroundColor));
}
return dialogBuilder.create(); return dialog;
} }
/*////////////////////////////////////////////////////////////////////////// /*//////////////////////////////////////////////////////////////////////////
@ -244,11 +251,20 @@ public class PlaybackParameterDialog extends DialogFragment {
}); });
} }
defaultPresetText = rootView.findViewById(R.id.presetDefault);
if (defaultPresetText != null) {
defaultPresetText.setOnClickListener(view -> {
setTempoSlider(DEFAULT_TEMPO);
setPitchSlider(DEFAULT_PITCH);
setCurrentPlaybackParameters();
});
}
resetPresetText = rootView.findViewById(R.id.presetReset); resetPresetText = rootView.findViewById(R.id.presetReset);
if (resetPresetText != null) { if (resetPresetText != null) {
resetPresetText.setOnClickListener(view -> { resetPresetText.setOnClickListener(view -> {
setTempoSlider(DEFAULT_TEMPO); setTempoSlider(initialTempo);
setPitchSlider(DEFAULT_PITCH); setPitchSlider(initialPitch);
setCurrentPlaybackParameters(); setCurrentPlaybackParameters();
}); });
} }

View File

@ -4,9 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:clickable="false" android:clickable="false"
android:paddingLeft="@dimen/video_item_search_padding" android:padding="@dimen/video_item_search_padding">
android:paddingRight="@dimen/video_item_search_padding"
android:paddingTop="@dimen/video_item_search_padding">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
@ -297,7 +295,7 @@
android:textColor="?attr/colorAccent"/> android:textColor="?attr/colorAccent"/>
<TextView <TextView
android:id="@+id/presetReset" android:id="@+id/presetDefault"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_weight="1"
@ -305,6 +303,16 @@
android:text="@string/playback_default" android:text="@string/playback_default"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:textColor="?attr/colorAccent"/> android:textColor="?attr/colorAccent"/>
<TextView
android:id="@+id/presetReset"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="Reset"
android:background="?attr/selectableItemBackground"
android:textColor="?attr/colorAccent"/>
</LinearLayout> </LinearLayout>
<!-- END HERE --> <!-- END HERE -->