[mobile] fix speed and ending bug

pull/123/head
FongMi 3 years ago
parent eabe4fd817
commit e6fe0b42a2
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 16
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  3. 15
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/dialog/ControlDialog.java

@ -1109,7 +1109,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
@Override
protected void onPause() {
super.onPause();
RefreshEvent.history();
onPause(false);
Clock.stop();
}
@ -1132,6 +1131,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
protected void onDestroy() {
super.onDestroy();
mPlayers.release();
RefreshEvent.history();
App.removeCallbacks(mR1, mR2);
}
}

@ -529,7 +529,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
}
private void onSetting() {
mControlDialog = ControlDialog.create().detail(mBinding).players(mPlayers).parse(isUseParse()).show(this);
mControlDialog = ControlDialog.create().detail(mBinding).history(mHistory).players(mPlayers).parse(isUseParse()).show(this);
}
private void onTrack(View view) {
@ -1227,6 +1227,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
super.onStart();
mPlayers.play();
setStop(false);
Clock.start();
}
@Override
@ -1234,18 +1235,6 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
super.onStop();
mPlayers.pause();
setStop(true);
}
@Override
protected void onResume() {
super.onResume();
Clock.start();
}
@Override
protected void onPause() {
super.onPause();
RefreshEvent.history();
Clock.stop();
}
@ -1265,6 +1254,7 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust
protected void onDestroy() {
super.onDestroy();
mPlayers.release();
RefreshEvent.history();
App.removeCallbacks(mR1, mR2, mR3);
}
}

@ -13,6 +13,7 @@ import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.bean.History;
import com.fongmi.android.tv.bean.Parse;
import com.fongmi.android.tv.databinding.ActivityDetailBinding;
import com.fongmi.android.tv.databinding.DialogControlBinding;
@ -22,6 +23,7 @@ import com.fongmi.android.tv.ui.base.ViewType;
import com.fongmi.android.tv.ui.custom.SpaceItemDecoration;
import com.fongmi.android.tv.utils.ResUtil;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.slider.Slider;
import java.util.Arrays;
import java.util.List;
@ -34,6 +36,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
private final String[] scale;
private Listener listener;
private Players players;
private History history;
private boolean parse;
public static ControlDialog create() {
@ -49,6 +52,11 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
return this;
}
public ControlDialog history(History history) {
this.history = history;
return this;
}
public ControlDialog players(Players players) {
this.players = players;
return this;
@ -88,6 +96,7 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
@Override
protected void initEvent() {
binding.speed.addOnChangeListener(this::setSpeed);
for (TextView view : scales) view.setOnClickListener(this::setScale);
binding.text.setOnClickListener(v -> dismiss(detail.control.action.text));
binding.audio.setOnClickListener(v -> dismiss(detail.control.action.audio));
@ -99,7 +108,11 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
binding.opening.setOnClickListener(v -> click(binding.opening, detail.control.action.opening));
binding.ending.setOnLongClickListener(v -> longClick(binding.ending, detail.control.action.ending));
binding.opening.setOnLongClickListener(v -> longClick(binding.opening, detail.control.action.opening));
binding.speed.addOnChangeListener((slider, value, fromUser) -> detail.control.action.speed.setText(players.setSpeed(value)));
}
private void setSpeed(@NonNull Slider slider, float value, boolean fromUser) {
detail.control.action.speed.setText(players.setSpeed(value));
if (history != null) history.setSpeed(players.getSpeed());
}
private void setScaleText() {

Loading…
Cancel
Save