[leanback] fix build

pull/123/head
FongMi 3 years ago
parent d333e705a9
commit eb0ad27d73
  1. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 8
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 99
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  4. 4
      app/src/leanback/res/layout/activity_detail.xml
  5. 4
      app/src/leanback/res/layout/activity_live.xml
  6. 2
      app/src/leanback/res/layout/view_control_seek.xml

@ -17,6 +17,9 @@ import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.ItemBridgeAdapter;
import androidx.leanback.widget.OnChildViewHolderSelectedListener;
import androidx.lifecycle.ViewModelProvider;
import androidx.media3.common.C;
import androidx.media3.common.Player;
import androidx.media3.ui.PlayerView;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewbinding.ViewBinding;
@ -57,9 +60,6 @@ import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Traffic;
import com.fongmi.android.tv.utils.Utils;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.ui.StyledPlayerView;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -167,7 +167,7 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
return mHistory != null && mHistory.getScale() != -1 ? mHistory.getScale() : Prefers.getScale();
}
private StyledPlayerView getExo() {
private PlayerView getExo() {
return Prefers.getRender() == 0 ? mBinding.surface : mBinding.texture;
}

@ -12,6 +12,9 @@ import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.ItemBridgeAdapter;
import androidx.leanback.widget.OnChildViewHolderSelectedListener;
import androidx.lifecycle.ViewModelProvider;
import androidx.media3.common.C;
import androidx.media3.common.Player;
import androidx.media3.ui.PlayerView;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewbinding.ViewBinding;
@ -49,9 +52,6 @@ import com.fongmi.android.tv.utils.Notify;
import com.fongmi.android.tv.utils.Prefers;
import com.fongmi.android.tv.utils.ResUtil;
import com.fongmi.android.tv.utils.Traffic;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.ui.StyledPlayerView;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@ -93,7 +93,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
if (!LiveConfig.isEmpty()) activity.startActivity(new Intent(activity, LiveActivity.class));
}
private StyledPlayerView getExo() {
private PlayerView getExo() {
return Prefers.getRender() == 0 ? mBinding.surface : mBinding.texture;
}

@ -35,7 +35,13 @@ import com.permissionx.guolindev.PermissionX;
public class SettingActivity extends BaseActivity implements ConfigCallback, SiteCallback, LiveCallback {
private ActivitySettingBinding mBinding;
private Config config;
private String[] quality;
private String[] render;
private String[] decode;
private String[] player;
private String[] scale;
private String[] size;
private int type;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, SettingActivity.class));
@ -48,27 +54,27 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
@Override
protected void initView() {
mBinding.vodUrl.setText(ApiConfig.getUrl());
mBinding.liveUrl.setText(LiveConfig.getUrl());
mBinding.wallUrl.setText(WallConfig.getUrl());
mBinding.vodUrl.setText(ApiConfig.getDesc());
mBinding.liveUrl.setText(LiveConfig.getDesc());
mBinding.wallUrl.setText(WallConfig.getDesc());
mBinding.versionText.setText(BuildConfig.VERSION_NAME);
mBinding.sizeText.setText(ResUtil.getStringArray(R.array.select_size)[Prefers.getSize()]);
mBinding.scaleText.setText(ResUtil.getStringArray(R.array.select_scale)[Prefers.getScale()]);
mBinding.playerText.setText(ResUtil.getStringArray(R.array.select_player)[Prefers.getPlayer()]);
mBinding.decodeText.setText(ResUtil.getStringArray(R.array.select_decode)[Prefers.getDecode()]);
mBinding.renderText.setText(ResUtil.getStringArray(R.array.select_render)[Prefers.getRender()]);
mBinding.qualityText.setText(ResUtil.getStringArray(R.array.select_quality)[Prefers.getQuality()]);
mBinding.sizeText.setText((size = ResUtil.getStringArray(R.array.select_size))[Prefers.getSize()]);
mBinding.scaleText.setText((scale = ResUtil.getStringArray(R.array.select_scale))[Prefers.getScale()]);
mBinding.playerText.setText((player = ResUtil.getStringArray(R.array.select_player))[Prefers.getPlayer()]);
mBinding.decodeText.setText((decode = ResUtil.getStringArray(R.array.select_decode))[Prefers.getDecode()]);
mBinding.renderText.setText((render = ResUtil.getStringArray(R.array.select_render))[Prefers.getRender()]);
mBinding.qualityText.setText((quality = ResUtil.getStringArray(R.array.select_quality))[Prefers.getQuality()]);
}
@Override
protected void initEvent() {
mBinding.vodHome.setOnClickListener(view -> SiteDialog.create(this).all().show());
mBinding.liveHome.setOnClickListener(view -> LiveDialog.create(this).show());
mBinding.vod.setOnClickListener(view -> ConfigDialog.create(this).type(0).show());
mBinding.live.setOnClickListener(view -> ConfigDialog.create(this).type(1).show());
mBinding.wall.setOnClickListener(view -> ConfigDialog.create(this).type(2).show());
mBinding.vodHistory.setOnClickListener(view -> HistoryDialog.create(this).type(0).show());
mBinding.liveHistory.setOnClickListener(view -> HistoryDialog.create(this).type(1).show());
mBinding.vod.setOnClickListener(view -> ConfigDialog.create(this).type(type = 0).show());
mBinding.live.setOnClickListener(view -> ConfigDialog.create(this).type(type = 1).show());
mBinding.wall.setOnClickListener(view -> ConfigDialog.create(this).type(type = 2).show());
mBinding.vodHistory.setOnClickListener(view -> HistoryDialog.create(this).type(type = 0).show());
mBinding.liveHistory.setOnClickListener(view -> HistoryDialog.create(this).type(type = 1).show());
mBinding.wallDefault.setOnClickListener(view -> setWallDefault());
mBinding.wallRefresh.setOnClickListener(view -> setWallRefresh());
mBinding.version.setOnLongClickListener(view -> onVersion(true));
@ -83,38 +89,33 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
@Override
public void setConfig(Config config) {
this.config = config;
checkPermission();
}
private void checkPermission() {
if (config.getUrl().startsWith("file") && !Utils.hasPermission(this)) {
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> loadConfig());
PermissionX.init(this).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request((allGranted, grantedList, deniedList) -> load(config));
} else {
loadConfig();
load(config);
}
}
private void loadConfig() {
private void load(Config config) {
switch (config.getType()) {
case 0:
Notify.progress(this);
mBinding.vodUrl.setText(config.getUrl());
ApiConfig.get().clear().config(config).load(getCallback());
mBinding.vodUrl.setText(config.getDesc());
ApiConfig.get().clear().config(config).load(getCallback(config));
break;
case 1:
Notify.progress(this);
mBinding.liveUrl.setText(config.getUrl());
LiveConfig.get().clear().config(config).load(getCallback());
mBinding.liveUrl.setText(config.getDesc());
LiveConfig.get().clear().config(config).load(getCallback(config));
break;
case 2:
mBinding.wallUrl.setText(config.getUrl());
WallConfig.get().clear().config(config).load(getCallback());
mBinding.wallUrl.setText(config.getDesc());
WallConfig.get().clear().config(config).load(getCallback(config));
break;
}
}
private Callback getCallback() {
private Callback getCallback(Config config) {
return new Callback() {
@Override
public void success() {
@ -131,14 +132,14 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
}
private void setConfig() {
switch (config.getType()) {
switch (type) {
case 0:
Notify.dismiss();
RefreshEvent.video();
RefreshEvent.history();
mBinding.vodUrl.setText(ApiConfig.getUrl());
mBinding.liveUrl.setText(LiveConfig.getUrl());
mBinding.wallUrl.setText(WallConfig.getUrl());
mBinding.vodUrl.setText(ApiConfig.getDesc());
mBinding.liveUrl.setText(LiveConfig.getDesc());
mBinding.wallUrl.setText(WallConfig.getDesc());
break;
case 1:
Notify.dismiss();
@ -173,45 +174,39 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
private void setQuality() {
int index = Prefers.getQuality();
String[] array = ResUtil.getStringArray(R.array.select_quality);
Prefers.putQuality(index = index == array.length - 1 ? 0 : ++index);
mBinding.qualityText.setText(array[index]);
Prefers.putQuality(index = index == quality.length - 1 ? 0 : ++index);
mBinding.qualityText.setText(quality[index]);
RefreshEvent.image();
}
private void setPlayer() {
int index = Prefers.getPlayer();
String[] array = ResUtil.getStringArray(R.array.select_player);
Prefers.putPlayer(index = index == array.length - 1 ? 0 : ++index);
mBinding.playerText.setText(array[index]);
Prefers.putPlayer(index = index == player.length - 1 ? 0 : ++index);
mBinding.playerText.setText(player[index]);
}
private void setDecode() {
int index = Prefers.getDecode();
String[] array = ResUtil.getStringArray(R.array.select_decode);
Prefers.putDecode(index = index == array.length - 1 ? 0 : ++index);
mBinding.decodeText.setText(array[index]);
Prefers.putDecode(index = index == decode.length - 1 ? 0 : ++index);
mBinding.decodeText.setText(decode[index]);
}
private void setRender() {
int index = Prefers.getRender();
String[] array = ResUtil.getStringArray(R.array.select_render);
Prefers.putRender(index = index == array.length - 1 ? 0 : ++index);
mBinding.renderText.setText(array[index]);
Prefers.putRender(index = index == render.length - 1 ? 0 : ++index);
mBinding.renderText.setText(render[index]);
}
private void setScale() {
int index = Prefers.getScale();
String[] array = ResUtil.getStringArray(R.array.select_scale);
Prefers.putScale(index = index == array.length - 1 ? 0 : ++index);
mBinding.scaleText.setText(array[index]);
Prefers.putScale(index = index == scale.length - 1 ? 0 : ++index);
mBinding.scaleText.setText(scale[index]);
}
private void setSize() {
int index = Prefers.getSize();
String[] array = ResUtil.getStringArray(R.array.select_size);
Prefers.putSize(index = index == array.length - 1 ? 0 : ++index);
mBinding.sizeText.setText(array[index]);
Prefers.putSize(index = index == size.length - 2 ? 0 : ++index);
mBinding.sizeText.setText(size[index]);
RefreshEvent.size();
}

@ -19,7 +19,7 @@
android:foreground="@drawable/selector_video"
android:nextFocusDown="@id/flag">
<com.google.android.exoplayer2.ui.StyledPlayerView
<androidx.media3.ui.PlayerView
android:id="@+id/surface"
style="@style/Player.Vod"
android:layout_width="match_parent"
@ -27,7 +27,7 @@
android:visibility="gone"
app:surface_type="surface_view" />
<com.google.android.exoplayer2.ui.StyledPlayerView
<androidx.media3.ui.PlayerView
android:id="@+id/texture"
style="@style/Player.Vod"
android:layout_width="match_parent"

@ -14,7 +14,7 @@
android:clickable="true"
android:focusable="true">
<com.google.android.exoplayer2.ui.StyledPlayerView
<androidx.media3.ui.PlayerView
android:id="@+id/surface"
style="@style/Player.Live"
android:layout_width="match_parent"
@ -22,7 +22,7 @@
android:visibility="gone"
app:surface_type="surface_view" />
<com.google.android.exoplayer2.ui.StyledPlayerView
<androidx.media3.ui.PlayerView
android:id="@+id/texture"
style="@style/Player.Live"
android:layout_width="match_parent"

@ -15,7 +15,7 @@
android:textSize="16sp"
tools:text="00:00:00" />
<com.google.android.exoplayer2.ui.DefaultTimeBar
<androidx.media3.ui.DefaultTimeBar
android:id="@+id/timeBar"
android:layout_width="0dp"
android:layout_height="wrap_content"

Loading…
Cancel
Save