|
|
|
|
@ -27,6 +27,7 @@ import com.fongmi.android.tv.R; |
|
|
|
|
import com.fongmi.android.tv.Setting; |
|
|
|
|
import com.fongmi.android.tv.api.config.LiveConfig; |
|
|
|
|
import com.fongmi.android.tv.bean.Channel; |
|
|
|
|
import com.fongmi.android.tv.bean.Config; |
|
|
|
|
import com.fongmi.android.tv.bean.Epg; |
|
|
|
|
import com.fongmi.android.tv.bean.EpgData; |
|
|
|
|
import com.fongmi.android.tv.bean.Group; |
|
|
|
|
@ -39,6 +40,7 @@ import com.fongmi.android.tv.event.ErrorEvent; |
|
|
|
|
import com.fongmi.android.tv.event.PlayerEvent; |
|
|
|
|
import com.fongmi.android.tv.event.RefreshEvent; |
|
|
|
|
import com.fongmi.android.tv.impl.Callback; |
|
|
|
|
import com.fongmi.android.tv.impl.ConfigCallback; |
|
|
|
|
import com.fongmi.android.tv.impl.CustomTarget; |
|
|
|
|
import com.fongmi.android.tv.impl.LiveCallback; |
|
|
|
|
import com.fongmi.android.tv.impl.PassCallback; |
|
|
|
|
@ -51,6 +53,7 @@ import com.fongmi.android.tv.service.PlaybackService; |
|
|
|
|
import com.fongmi.android.tv.ui.base.BaseActivity; |
|
|
|
|
import com.fongmi.android.tv.ui.custom.CustomKeyDownLive; |
|
|
|
|
import com.fongmi.android.tv.ui.custom.CustomLiveListView; |
|
|
|
|
import com.fongmi.android.tv.ui.dialog.HistoryDialog; |
|
|
|
|
import com.fongmi.android.tv.ui.dialog.LiveDialog; |
|
|
|
|
import com.fongmi.android.tv.ui.dialog.PassDialog; |
|
|
|
|
import com.fongmi.android.tv.ui.dialog.SubtitleDialog; |
|
|
|
|
@ -72,7 +75,7 @@ import java.util.Iterator; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
|
|
public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, EpgDataPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveListView.Callback, TrackDialog.Listener, PassCallback, LiveCallback { |
|
|
|
|
public class LiveActivity extends BaseActivity implements GroupPresenter.OnClickListener, ChannelPresenter.OnClickListener, EpgDataPresenter.OnClickListener, CustomKeyDownLive.Listener, CustomLiveListView.Callback, TrackDialog.Listener, PassCallback, ConfigCallback, LiveCallback { |
|
|
|
|
|
|
|
|
|
private ActivityLiveBinding mBinding; |
|
|
|
|
private ArrayObjectAdapter mChannelAdapter; |
|
|
|
|
@ -93,6 +96,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
private Runnable mR3; |
|
|
|
|
private Runnable mR4; |
|
|
|
|
private Clock mClock; |
|
|
|
|
private View mFocus2; |
|
|
|
|
private boolean redirect; |
|
|
|
|
private String tag; |
|
|
|
|
private int count; |
|
|
|
|
@ -165,6 +169,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
mBinding.control.line.setOnClickListener(view -> onLine()); |
|
|
|
|
mBinding.control.scale.setOnClickListener(view -> onScale()); |
|
|
|
|
mBinding.control.speed.setOnClickListener(view -> onSpeed()); |
|
|
|
|
mBinding.control.config.setOnClickListener(view -> onConfig()); |
|
|
|
|
mBinding.control.action.setOnClickListener(view -> onAction()); |
|
|
|
|
mBinding.control.invert.setOnClickListener(view -> onInvert()); |
|
|
|
|
mBinding.control.across.setOnClickListener(view -> onAcross()); |
|
|
|
|
@ -381,6 +386,10 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onConfig() { |
|
|
|
|
HistoryDialog.create(this).readOnly().type(1).show(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void onAction() { |
|
|
|
|
checkPlay(); |
|
|
|
|
} |
|
|
|
|
@ -677,6 +686,30 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
App.post(() -> SubtitleDialog.create().view(mBinding.exo.getSubtitleView()).full(true).show(this), 200); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void setConfig(Config config) { |
|
|
|
|
Notify.progress(this); |
|
|
|
|
Config current = LiveConfig.get().getConfig(); |
|
|
|
|
LiveConfig.load(config, getCallback(current)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Callback getCallback(Config config) { |
|
|
|
|
return new Callback() { |
|
|
|
|
@Override |
|
|
|
|
public void success() { |
|
|
|
|
Notify.dismiss(); |
|
|
|
|
setLive(getHome()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void error(String msg) { |
|
|
|
|
Notify.dismiss(); |
|
|
|
|
Notify.show(msg); |
|
|
|
|
LiveConfig.get().clear().config(config).load(); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void setLive(Live item) { |
|
|
|
|
if (item.isActivated()) item.getGroups().clear(); |
|
|
|
|
@ -885,9 +918,14 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
this.redirect = redirect; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private View getFocus2() { |
|
|
|
|
return mFocus2 == null ? mBinding.control.config : mFocus2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean dispatchKeyEvent(KeyEvent event) { |
|
|
|
|
if (isVisible(mBinding.control.getRoot())) setR1Callback(); |
|
|
|
|
if (isVisible(mBinding.control.getRoot())) mFocus2 = getCurrentFocus(); |
|
|
|
|
if (mKeyDown.hasEvent(event)) mKeyDown.onKeyDown(event); |
|
|
|
|
return super.dispatchKeyEvent(event); |
|
|
|
|
} |
|
|
|
|
@ -956,7 +994,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onMenu() { |
|
|
|
|
showControl(mBinding.control.home); |
|
|
|
|
showControl(getFocus2()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|