player settings: show real channel icon

This commit is contained in:
Yuriy Liskov
2022-07-23 02:07:28 +03:00
parent e0d97a60d8
commit 58926bc0ba
6 changed files with 25 additions and 2 deletions

View File

@@ -30,6 +30,7 @@ import com.liskovsoft.smartyoutubetv2.common.app.presenters.dialogs.menu.VideoMe
import com.liskovsoft.smartyoutubetv2.common.exoplayer.selector.FormatItem;
import com.liskovsoft.smartyoutubetv2.common.misc.MotherActivity;
import com.liskovsoft.smartyoutubetv2.common.prefs.PlayerData;
import com.liskovsoft.smartyoutubetv2.common.prefs.PlayerTweaksData;
import com.liskovsoft.smartyoutubetv2.common.prefs.SearchData;
import com.liskovsoft.smartyoutubetv2.common.utils.AppDialogUtil;
import com.liskovsoft.smartyoutubetv2.common.utils.Utils;
@@ -49,6 +50,7 @@ public class PlayerUIManager extends PlayerEventListenerHelper implements Metada
private final MediaItemService mMediaItemManager;
private final VideoLoaderManager mVideoLoader;
private PlayerData mPlayerData;
private PlayerTweaksData mPlayerTweaksData;
private List<VideoPlaylistInfo> mVideoPlaylistInfos;
private boolean mEngineReady;
private boolean mDebugViewEnabled;
@@ -77,6 +79,7 @@ public class PlayerUIManager extends PlayerEventListenerHelper implements Metada
@Override
public void onInitDone() {
mPlayerData = PlayerData.instance(getActivity());
mPlayerTweaksData = PlayerTweaksData.instance(getActivity());
// Could be set once per activity creation (view layout stuff)
getController().setVideoZoomMode(mPlayerData.getVideoZoomMode());
@@ -237,7 +240,9 @@ public class PlayerUIManager extends PlayerEventListenerHelper implements Metada
getController().setLikeButtonState(metadata.getLikeStatus() == MediaItemMetadata.LIKE_STATUS_LIKE);
getController().setDislikeButtonState(metadata.getLikeStatus() == MediaItemMetadata.LIKE_STATUS_DISLIKE);
getController().setSubscribeButtonState(metadata.isSubscribed());
getController().setChannelIcon(metadata.getAuthorImageUrl());
if (mPlayerTweaksData.isRealChannelIconEnabled()) {
getController().setChannelIcon(metadata.getAuthorImageUrl());
}
setPlaylistAddButtonStateCached();
setSubtitleButtonState();
setSpeedButtonState(getController().getSpeed()); // Use real speed (it more robust than the saved speed data)

View File

@@ -385,6 +385,10 @@ public class PlayerSettingsPresenter extends BasePresenter<Void> {
// option -> mPlayerData.enableSeekMemory(option.isSelected()),
// mPlayerData.isSeekMemoryEnabled()));
options.add(UiOptionItem.from(getContext().getString(R.string.real_channel_icon),
option -> mPlayerTweaksData.enableRealChannelIcon(option.isSelected()),
mPlayerTweaksData.isRealChannelIconEnabled()));
options.add(UiOptionItem.from(getContext().getString(R.string.place_chat_left),
option -> mPlayerTweaksData.placeChatLeft(option.isSelected()),
mPlayerTweaksData.isChatPlacedLeft()));

View File

@@ -51,6 +51,7 @@ public class PlayerTweaksData {
private boolean mIsSuggestionsDisabled;
private boolean mIsAvcOverVp9Preferred;
private boolean mIsChatPlacedLeft;
private boolean mIsRealChannelIconEnabled;
private PlayerTweaksData(Context context) {
mPrefs = AppPrefs.instance(context);
@@ -251,6 +252,15 @@ public class PlayerTweaksData {
persistData();
}
public boolean isRealChannelIconEnabled() {
return mIsRealChannelIconEnabled;
}
public void enableRealChannelIcon(boolean enable) {
mIsRealChannelIconEnabled = enable;
persistData();
}
private void restoreData() {
String data = mPrefs.getData(VIDEO_PLAYER_TWEAKS_DATA);
@@ -277,6 +287,7 @@ public class PlayerTweaksData {
mIsSuggestionsDisabled = Helpers.parseBoolean(split, 17, false);
mIsAvcOverVp9Preferred = Helpers.parseBoolean(split, 18, false);
mIsChatPlacedLeft = Helpers.parseBoolean(split, 19, false);
mIsRealChannelIconEnabled = Helpers.parseBoolean(split, 20, true);
}
private void persistData() {
@@ -286,7 +297,7 @@ public class PlayerTweaksData {
null, mIsSetOutputSurfaceWorkaroundEnabled, mIsAudioSyncFixEnabled, mIsKeepFinishedActivityEnabled,
mIsLiveStreamFixEnabled, mIsPlaybackNotificationsDisabled, mIsTunneledPlaybackEnabled, mPlayerButtons,
mIsBufferingFixEnabled, mIsNoFpsPresetsEnabled, mIsRememberPositionOfShortVideosEnabled, mIsSuggestionsDisabled,
mIsAvcOverVp9Preferred, mIsChatPlacedLeft
mIsAvcOverVp9Preferred, mIsChatPlacedLeft, mIsRealChannelIconEnabled
));
}
}

View File

@@ -454,4 +454,5 @@
<string name="speech_recognizer_system">Системный (наилучший)</string>
<string name="speech_recognizer_external_1">Внешний 1 (серьезно забагован, для работы нужно отключить доступ к микрофону)</string>
<string name="speech_recognizer_external_2">Внешний 2 (серьезно забагован)</string>
<string name="real_channel_icon">Показать реальную иконку на кнопке канала</string>
</resources>

View File

@@ -454,4 +454,5 @@
<string name="speech_recognizer_system">Системний (найкращій)</string>
<string name="speech_recognizer_external_1">Зовнішній 1 (серйозно забагований, для роботи потрібно заборонити доступ до мікрофону)</string>
<string name="speech_recognizer_external_2">Зовнішній 2 (серйозно забагований)</string>
<string name="real_channel_icon">Показувати справжній значок на кнопці каналу</string>
</resources>

View File

@@ -462,4 +462,5 @@
<string name="speech_recognizer_system">System (preferred)</string>
<string name="speech_recognizer_external_1">External 1 (seriously bugged, in order to work you need to disable access to the microphone)</string>
<string name="speech_recognizer_external_2">External 2 (seriously bugged)</string>
<string name="real_channel_icon">Show real icon on the channel button</string>
</resources>