From 9d8df04c5cef648d4aba23e541ecc133bf6eb57e Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 10 Nov 2020 10:46:39 -0600 Subject: [PATCH] Catch IllegalArgumentException when trying to insert an entry to TvContract.Channels.CONTENT_URI HarmonyOS has FEATURE_LEANBACK but doesn't support this URI --- .../com/limelight/utils/TvChannelHelper.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/limelight/utils/TvChannelHelper.java b/app/src/main/java/com/limelight/utils/TvChannelHelper.java index 4e18ce23..d7dc0340 100644 --- a/app/src/main/java/com/limelight/utils/TvChannelHelper.java +++ b/app/src/main/java/com/limelight/utils/TvChannelHelper.java @@ -77,8 +77,18 @@ public class TvChannelHelper { return; } - Uri channelUri = context.getContentResolver().insert( - TvContract.Channels.CONTENT_URI, builder.toContentValues()); + Uri channelUri; + + try { + channelUri = context.getContentResolver().insert( + TvContract.Channels.CONTENT_URI, builder.toContentValues()); + } catch (IllegalArgumentException e) { + // This can happen on HarmonyOS devices which report to + // support Leanback APIs, yet don't implement this URI + e.printStackTrace(); + return; + } + if (channelUri != null) { long id = ContentUris.parseId(channelUri); updateChannelIcon(id); @@ -144,8 +154,15 @@ public class TvChannelHelper { return; } - context.getContentResolver().insert(TvContract.PreviewPrograms.CONTENT_URI, - builder.toContentValues()); + try { + context.getContentResolver().insert(TvContract.PreviewPrograms.CONTENT_URI, + builder.toContentValues()); + } catch (IllegalArgumentException e) { + // This can happen on HarmonyOS devices which report to + // support Leanback APIs, yet don't implement this URI + e.printStackTrace(); + return; + } TvContract.requestChannelBrowsable(context, channelId); }