Skip to content

Commit c02b2ff

Browse files
committed
Block channel: improve performance if the channel list is empty; upd MediaServiceCore
1 parent bca47d4 commit c02b2ff

File tree

3 files changed

+30
-14
lines changed

3 files changed

+30
-14
lines changed

common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/VideoGroup.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -472,17 +472,25 @@ public void add(int idx, Video video) {
472472
}
473473

474474
private boolean isChannelBlocked(Video video) {
475-
// Filter out videos from blacklisted channels
476-
String channelId = video.channelId;
477-
String channelName = video.getAuthor();
478-
if (!Helpers.allNulls(channelId, channelName)) {
479-
try {
480-
BlockedChannelData blockedChannelData = BlockedChannelData.instance(GlobalPreferences.context());
481-
return blockedChannelData != null && blockedChannelData.containsChannel(channelId, channelName);
482-
} catch (Exception e) {
483-
// If BlockedChannelData isn't initialized yet, allow the video through
484-
// This can happen during early app startup
475+
if (video.isChapter) {
476+
return false;
477+
}
478+
479+
try {
480+
BlockedChannelData blockedChannelData = BlockedChannelData.instance(GlobalPreferences.context());
481+
482+
if (blockedChannelData == null || blockedChannelData.isEmpty()) {
483+
return false;
485484
}
485+
486+
// Filter out videos from blacklisted channels
487+
String channelId = video.channelId;
488+
String channelName = video.getAuthor();
489+
490+
return blockedChannelData.containsChannel(channelId, channelName);
491+
} catch (Exception e) {
492+
// If BlockedChannelData isn't initialized yet, allow the video through
493+
// This can happen during early app startup
486494
}
487495

488496
return false;

common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/BlockedChannelData.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public static BlockedChannelData instance(Context context) {
9090
* Add a channel to the block list
9191
*/
9292
public void addChannel(String channelId, String channelName) {
93-
if (channelId == null && channelName == null) {
93+
if (Helpers.allNulls(channelId, channelName)) {
9494
return;
9595
}
9696

@@ -106,7 +106,7 @@ public void addChannel(String channelId, String channelName) {
106106
* Remove a channel from the list
107107
*/
108108
public void removeChannel(String channelId, String channelName) {
109-
if (channelId == null && channelName == null) {
109+
if (Helpers.allNulls(channelId, channelName) || mChannels.isEmpty()) {
110110
return;
111111
}
112112

@@ -120,7 +120,11 @@ public void removeChannel(String channelId, String channelName) {
120120
* Check if a channel is blocked
121121
*/
122122
public boolean containsChannel(String channelId, String channelName) {
123-
return !mChannels.isEmpty() && mChannels.contains(new Channel(channelId, channelName));
123+
if (Helpers.allNulls(channelId, channelName) || mChannels.isEmpty()) {
124+
return false;
125+
}
126+
127+
return mChannels.contains(new Channel(channelId, channelName));
124128
}
125129

126130
/**
@@ -147,6 +151,10 @@ public int getChannelCount() {
147151
return mChannels.size();
148152
}
149153

154+
public boolean isEmpty() {
155+
return mChannels.isEmpty();
156+
}
157+
150158
/**
151159
* Clear all blacklisted channels
152160
*/

0 commit comments

Comments
 (0)