mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-10-02 01:54:34 +08:00
Restore Not interested and Don't recommend channel context menu items; upd MediaServiceCore
This commit is contained in:
+1
-1
Submodule MediaServiceCore updated: 59795dfe13...8b4a884bf2
+6
@@ -1,5 +1,6 @@
|
||||
package com.liskovsoft.smartyoutubetv2.common.app.models.data;
|
||||
|
||||
import com.liskovsoft.mediaserviceinterfaces.data.FeedbackEndpoint;
|
||||
import com.liskovsoft.mediaserviceinterfaces.data.MediaItem;
|
||||
import com.liskovsoft.mediaserviceinterfaces.data.MediaItemMetadata;
|
||||
|
||||
@@ -132,6 +133,11 @@ public final class SimpleMediaItem implements MediaItem {
|
||||
return mFeedbackToken2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FeedbackEndpoint getFeedbackEndpoint() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlaylistId() {
|
||||
return mPlaylistId;
|
||||
|
||||
+67
-35
@@ -339,7 +339,7 @@ public class VideoMenuPresenter extends BaseMenuPresenter {
|
||||
}
|
||||
|
||||
private void appendNotInterestedButton() {
|
||||
if (mVideo == null || mVideo.mediaItem == null || mVideo.mediaItem.getFeedbackToken() == null) {
|
||||
if (mVideo == null || mVideo.mediaItem == null || (mVideo.mediaItem.getFeedbackToken() == null && mVideo.mediaItem.getFeedbackEndpoint() == null)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -351,30 +351,46 @@ public class VideoMenuPresenter extends BaseMenuPresenter {
|
||||
|
||||
mDialogPresenter.appendSingleButton(
|
||||
UiOptionItem.from(getContext().getString(R.string.not_interested), optionItem -> {
|
||||
mNotInterestedAction = mMediaItemService.getFeedbackReasonsObserve(mVideo.mediaItem.getFeedbackToken())
|
||||
.subscribe(
|
||||
reasons -> {
|
||||
if (reasons.getItems() != null) {
|
||||
for (FeedbackItem item : reasons.getItems()) {
|
||||
mDialogPresenter.appendSingleButton(
|
||||
UiOptionItem.from(item.getTitle(),
|
||||
option -> {
|
||||
RxHelper.execute(mMediaItemService.markAsNotInterestedObserve(item.getToken()));
|
||||
removeSuggestedItemAndClose();
|
||||
}
|
||||
)
|
||||
);
|
||||
if (mVideo.mediaItem.getFeedbackEndpoint() == null) {
|
||||
markAsNotInterested(mVideo.mediaItem.getFeedbackToken());
|
||||
} else {
|
||||
mNotInterestedAction = mMediaItemService.getFeedbackTokensObserve(mVideo.mediaItem.getFeedbackEndpoint())
|
||||
.subscribe(
|
||||
tokens -> {
|
||||
if (tokens.size() == 2) {
|
||||
markAsNotInterested(tokens.get(0));
|
||||
}
|
||||
mDialogPresenter.showDialog(reasons.getTitle());
|
||||
} else {
|
||||
removeSuggestedItemAndClose();
|
||||
}
|
||||
},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage())
|
||||
);
|
||||
},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage())
|
||||
);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void markAsNotInterested(String feedbackToken) {
|
||||
mNotInterestedAction = mMediaItemService.getFeedbackReasonsObserve(feedbackToken)
|
||||
.subscribe(
|
||||
reasons -> {
|
||||
if (reasons.getItems() != null) {
|
||||
for (FeedbackItem item : reasons.getItems()) {
|
||||
mDialogPresenter.appendSingleButton(
|
||||
UiOptionItem.from(item.getTitle(),
|
||||
option -> {
|
||||
RxHelper.execute(mMediaItemService.markAsNotInterestedObserve(item.getToken()));
|
||||
removeSuggestedItemAndClose();
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
mDialogPresenter.showDialog(reasons.getTitle());
|
||||
} else {
|
||||
removeSuggestedItemAndClose();
|
||||
}
|
||||
},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage())
|
||||
);
|
||||
}
|
||||
|
||||
private void removeSuggestedItemAndClose() {
|
||||
if (mCallback != null) {
|
||||
mCallback.onItemAction(mVideo, VideoMenuCallback.ACTION_REMOVE);
|
||||
@@ -385,7 +401,7 @@ public class VideoMenuPresenter extends BaseMenuPresenter {
|
||||
}
|
||||
|
||||
private void appendNotRecommendChannelButton() {
|
||||
if (mVideo == null || mVideo.mediaItem == null || mVideo.mediaItem.getFeedbackToken2() == null) {
|
||||
if (mVideo == null || mVideo.mediaItem == null || (mVideo.mediaItem.getFeedbackToken2() == null && mVideo.mediaItem.getFeedbackEndpoint() == null)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -397,22 +413,38 @@ public class VideoMenuPresenter extends BaseMenuPresenter {
|
||||
|
||||
mDialogPresenter.appendSingleButton(
|
||||
UiOptionItem.from(getContext().getString(R.string.not_recommend_channel), optionItem -> {
|
||||
mNotInterestedAction = mMediaItemService.markAsNotInterestedObserve(mVideo.mediaItem.getFeedbackToken2())
|
||||
.subscribe(
|
||||
var -> {},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage()),
|
||||
() -> {
|
||||
if (mCallback != null) {
|
||||
mCallback.onItemAction(mVideo, VideoMenuCallback.ACTION_REMOVE);
|
||||
} else {
|
||||
MessageHelpers.showMessage(getContext(), R.string.you_wont_see_this_video);
|
||||
}
|
||||
}
|
||||
);
|
||||
mDialogPresenter.closeDialog();
|
||||
if (mVideo.mediaItem.getFeedbackEndpoint() == null) {
|
||||
markAsNotRecommendChannel(mVideo.mediaItem.getFeedbackToken2());
|
||||
} else {
|
||||
mNotInterestedAction = mMediaItemService.getFeedbackTokensObserve(mVideo.mediaItem.getFeedbackEndpoint())
|
||||
.subscribe(
|
||||
tokens -> {
|
||||
if (tokens.size() == 2) {
|
||||
markAsNotRecommendChannel(tokens.get(1));
|
||||
}
|
||||
},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage())
|
||||
);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void markAsNotRecommendChannel(String feedbackToken2) {
|
||||
mNotInterestedAction = mMediaItemService.markAsNotInterestedObserve(feedbackToken2)
|
||||
.subscribe(
|
||||
var -> {},
|
||||
error -> Log.e(TAG, "Mark as 'not interested' error: %s", error.getMessage()),
|
||||
() -> {
|
||||
if (mCallback != null) {
|
||||
mCallback.onItemAction(mVideo, VideoMenuCallback.ACTION_REMOVE);
|
||||
} else {
|
||||
MessageHelpers.showMessage(getContext(), R.string.you_wont_see_this_video);
|
||||
}
|
||||
}
|
||||
);
|
||||
mDialogPresenter.closeDialog();
|
||||
}
|
||||
|
||||
private void appendBlockChannelButton() {
|
||||
if (mVideo == null || mVideo.isChapter || !mIsBlockChannelEnabled) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user