From 5eaa91275e1b01d20e13689b87b084b57485e180 Mon Sep 17 00:00:00 2001 From: Daniel Frey Date: Fri, 20 Jan 2017 22:24:55 -0500 Subject: [PATCH] Add check for when media type cannot be determined Changes #68 --- .../org/mythtv/android/domain/MediaItem.java | 2 +- .../presentation/model/MediaItemModel.java | 2 +- .../phone/MediaItemDetailsActivity.java | 6 +++++ .../fragment/phone/MediaItemListFragment.java | 25 +++++++++++++------ 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/mythtv/android/domain/MediaItem.java b/app/src/main/java/org/mythtv/android/domain/MediaItem.java index 1501f4ef..4faea1ea 100644 --- a/app/src/main/java/org/mythtv/android/domain/MediaItem.java +++ b/app/src/main/java/org/mythtv/android/domain/MediaItem.java @@ -405,7 +405,7 @@ public List getValidationErrors() { public boolean isValid() { - return validationErrors.isEmpty(); + return null == media || validationErrors.isEmpty(); } @Override diff --git a/app/src/main/java/org/mythtv/android/presentation/model/MediaItemModel.java b/app/src/main/java/org/mythtv/android/presentation/model/MediaItemModel.java index f075cbc1..44f4df19 100644 --- a/app/src/main/java/org/mythtv/android/presentation/model/MediaItemModel.java +++ b/app/src/main/java/org/mythtv/android/presentation/model/MediaItemModel.java @@ -457,7 +457,7 @@ public void setValidationErrors( ArrayList validationErrors ) { public boolean isValid() { - return validationErrors.isEmpty(); + return null == media || validationErrors.isEmpty(); } @Override diff --git a/app/src/main/java/org/mythtv/android/presentation/view/activity/phone/MediaItemDetailsActivity.java b/app/src/main/java/org/mythtv/android/presentation/view/activity/phone/MediaItemDetailsActivity.java index 47a37756..d56303f9 100644 --- a/app/src/main/java/org/mythtv/android/presentation/view/activity/phone/MediaItemDetailsActivity.java +++ b/app/src/main/java/org/mythtv/android/presentation/view/activity/phone/MediaItemDetailsActivity.java @@ -248,6 +248,12 @@ public void onMediaItemLoaded( final MediaItemModel mediaItemModel ) { private void loadBackdrop() { Log.d( TAG, "loadBackdrop : enter" ); + if( null == mediaItemModel.getMedia() ) { + Log.d( TAG, "loadBackdrop : exit, media not set" ); + + return; + } + String backdropUrl = null; switch( mediaItemModel.getMedia() ) { diff --git a/app/src/main/java/org/mythtv/android/presentation/view/fragment/phone/MediaItemListFragment.java b/app/src/main/java/org/mythtv/android/presentation/view/fragment/phone/MediaItemListFragment.java index 3a60b589..15c6713e 100644 --- a/app/src/main/java/org/mythtv/android/presentation/view/fragment/phone/MediaItemListFragment.java +++ b/app/src/main/java/org/mythtv/android/presentation/view/fragment/phone/MediaItemListFragment.java @@ -501,20 +501,29 @@ private void loadMediaItemList() { } else { Log.w( TAG, "onItemClicked : data error - mediaItemModel=" + mediaItemModel.toString() ); - String fields = ""; - for( ErrorModel errorModel : mediaItemModel.getValidationErrors() ) { + if( null == mediaItemModel.getMedia() ) { + + String message = "Media Type could not be determined"; + showToastMessage( message, null, null ); + + } else { + + String fields = ""; + for( ErrorModel errorModel : mediaItemModel.getValidationErrors() ) { + + if( !"".equals( fields ) ) { + fields += ", "; + } + + fields += errorModel.getField(); - if( !"".equals( fields ) ) { - fields += ", "; } - fields += errorModel.getField(); + String message = "Thus episode has corrupt data: " + fields; + showToastMessage( message, null, null ); } - String message = "Thus episode has corrupt data: " + fields; - showToastMessage( message, null, null ); - } }