Add error message for video play

pull/102/head
FongMi 4 years ago
parent 5147588e2d
commit 9b5ee444cb
  1. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 8
      app/src/leanback/res/layout/activity_detail.xml
  3. 8
      app/src/leanback/res/layout/view_controller_center.xml
  4. 8
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  5. BIN
      app/src/main/res/drawable-hdpi/ic_vod_error.png
  6. BIN
      app/src/main/res/drawable-mdpi/ic_vod_error.png
  7. BIN
      app/src/main/res/drawable-xhdpi/ic_vod_error.png
  8. BIN
      app/src/main/res/drawable-xxhdpi/ic_vod_error.png
  9. BIN
      app/src/main/res/drawable-xxxhdpi/ic_empty.png
  10. BIN
      app/src/main/res/drawable-xxxhdpi/ic_img_error.png
  11. BIN
      app/src/main/res/drawable-xxxhdpi/ic_img_loading.png
  12. 26
      app/src/main/res/layout/view_error.xml
  13. 9
      app/src/main/res/values-zh-rCN/strings.xml
  14. 5
      app/src/main/res/values-zh-rTW/strings.xml
  15. 3
      app/src/main/res/values/strings.xml

@ -181,6 +181,7 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener {
if (mFullscreen) Notify.show(ResUtil.getString(R.string.play_ready, item.getName()));
mSiteViewModel.playerContent(getKey(), getVodFlag().getFlag(), item.getUrl());
mBinding.progress.getRoot().setVisibility(View.VISIBLE);
mBinding.error.getRoot().setVisibility(View.GONE);
updateHistory(item, replay);
}
@ -389,6 +390,8 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener {
case 0:
checkPosition();
break;
case Player.STATE_IDLE:
break;
case Player.STATE_BUFFERING:
mBinding.progress.getRoot().setVisibility(View.VISIBLE);
break;
@ -399,8 +402,10 @@ public class DetailActivity extends BaseActivity implements KeyDown.Listener {
onNext();
break;
default:
Players.get().stop();
mBinding.progress.getRoot().setVisibility(View.GONE);
Notify.show(event.getMsg());
mBinding.error.getRoot().setVisibility(View.VISIBLE);
mBinding.error.text.setText(event.getMsg());
break;
}
}

@ -29,6 +29,14 @@
layout="@layout/view_progress"
android:visibility="gone" />
<include
android:id="@+id/error"
layout="@layout/view_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone" />
<include
android:id="@+id/center"
layout="@layout/view_controller_center"

@ -1,16 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_item_activated"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/exo_styled_controls_padding">
<ImageView
android:id="@+id/action"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_centerHorizontal="true"
android:background="?attr/selectableItemBackground"
android:scaleType="fitXY"
android:src="@drawable/ic_play" />
@ -18,7 +19,6 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/action"
android:orientation="horizontal">
<TextView
@ -47,4 +47,4 @@
tools:text="00:00:00" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>

@ -108,7 +108,9 @@ public class Players implements Player.Listener {
}
public void setMediaSource(Result result) {
if (result.getParse().equals("1")) {
if (result.getUrl().isEmpty()) {
EventBus.getDefault().post(new PlayerEvent(ResUtil.getString(R.string.error_play_load)));
} else if (result.getParse().equals("1")) {
loadWebView(result.getUrl());
} else {
setMediaSource(getPlayHeader(result), result.getUrl());
@ -152,7 +154,7 @@ public class Players implements Player.Listener {
public void stop() {
if (exoPlayer != null) {
exoPlayer.stop();
exoPlayer.seekTo(0);
exoPlayer.clearMediaItems();
exoPlayer.setPlaybackSpeed(1.0f);
}
if (webView != null) {
@ -192,7 +194,7 @@ public class Players implements Player.Listener {
@Override
public void onPlayerError(@NonNull PlaybackException error) {
EventBus.getDefault().post(new PlayerEvent(ResUtil.getString(R.string.error_play)));
EventBus.getDefault().post(new PlayerEvent(ResUtil.getString(R.string.error_play_format)));
}
@Override

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_item_activated"
android:gravity="center"
android:orientation="vertical"
android:padding="@dimen/exo_styled_controls_padding">
<ImageView
android:layout_width="64dp"
android:layout_height="64dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_vod_error" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:textColor="@color/white"
android:textSize="18sp"
tools:text="@string/error_play" />
</LinearLayout>

@ -5,7 +5,7 @@
<string name="app_exit">再按一次返回键退出</string>
<!-- Splash -->
<string name="splash_info">正在载配置</string>
<string name="splash_info">正在载配置</string>
<!-- Home -->
<string name="home_vod">点播</string>
@ -25,7 +25,7 @@
<string name="search_remote">远程</string>
<!-- Push -->
<string name="push_info">手机或电脑连接同一个局域网,扫描 QR Code 或浏览器输入址\n<xliff:g name="name">%s</xliff:g></string>
<string name="push_info">手机或电脑连接同一个局域网,扫描 QR Code 或浏览器输入址\n<xliff:g name="name">%s</xliff:g></string>
<!-- Detail -->
<string name="detail_site">站源:<xliff:g name="name">%s</xliff:g></string>
@ -61,8 +61,9 @@
<string name="error_config_parse">配置解析失败</string>
<string name="error_play_next">已经是最后一集了!</string>
<string name="error_play_prev">已经是第一集了!</string>
<string name="error_play_parse">无法解析网址</string>
<string name="error_play">不支援的影片格式</string>
<string name="error_play_parse">播放地址解析失败</string>
<string name="error_play_load">播放信息加载失败</string>
<string name="error_play_format">不支援的影片格式</string>
<string name="error_empty">找不到数据</string>
<!-- UNIT -->

@ -61,8 +61,9 @@
<string name="error_config_parse">配置解析失敗</string>
<string name="error_play_next">已經是最後一集了!</string>
<string name="error_play_prev">已經是第一集了!</string>
<string name="error_play_parse">無法解析網址</string>
<string name="error_play">不支援的影片格式</string>
<string name="error_play_parse">播放網址解析失敗</string>
<string name="error_play_load">播放資料載入失敗</string>
<string name="error_play_format">不支援的影片格式</string>
<string name="error_empty">找不到資料</string>
<!-- UNIT -->

@ -62,7 +62,8 @@
<string name="error_play_next">It\'s the last episode!</string>
<string name="error_play_prev">It\'s the first episode!</string>
<string name="error_play_parse">Unable to parse url</string>
<string name="error_play">Unsupported video format</string>
<string name="error_play_load">Unable to load url</string>
<string name="error_play_format">Unsupported video format</string>
<string name="error_empty">Not found</string>
<!-- UNIT -->

Loading…
Cancel
Save