option: player full date

This commit is contained in:
Yuriy Liskov
2020-11-15 03:15:34 +02:00
parent 092de74961
commit 27de55880c
8 changed files with 34 additions and 5 deletions

View File

@@ -167,13 +167,13 @@ public final class Video implements Parcelable {
return playlistIndex > 0;
}
public void sync(MediaItemMetadata metadata) {
public void sync(MediaItemMetadata metadata, boolean useAlt) {
if (metadata == null) {
return;
}
title = metadata.getTitle();
description = metadata.getDescription();
description = useAlt ? metadata.getDescriptionAlt() : metadata.getDescription();
channelId = metadata.getChannelId();
nextMediaItem = metadata.getNextVideo();
}

View File

@@ -8,6 +8,7 @@ import com.liskovsoft.sharedutils.mylogger.Log;
import com.liskovsoft.smartyoutubetv2.common.app.models.data.Video;
import com.liskovsoft.smartyoutubetv2.common.app.models.data.VideoGroup;
import com.liskovsoft.smartyoutubetv2.common.app.models.playback.PlayerEventListenerHelper;
import com.liskovsoft.smartyoutubetv2.common.prefs.PlayerData;
import com.liskovsoft.smartyoutubetv2.common.utils.RxUtils;
import com.liskovsoft.youtubeapi.service.YouTubeMediaService;
import io.reactivex.Observable;
@@ -84,7 +85,7 @@ public class SuggestionsLoader extends PlayerEventListenerHelper {
private void syncCurrentVideo(MediaItemMetadata mediaItemMetadata) {
Video video = mController.getVideo();
video.sync(mediaItemMetadata);
video.sync(mediaItemMetadata, PlayerData.instance(mActivity).isShowFullDateEnabled());
mController.setVideo(video);
}

View File

@@ -29,6 +29,7 @@ public class PlayerSettingsPresenter {
appendOKButtonCategory(settingsPresenter);
appendUIAutoHideCategory(settingsPresenter);
appendOtherCategory(settingsPresenter);
settingsPresenter.showDialog(mContext.getString(R.string.dialog_player_ui));
}
@@ -72,4 +73,14 @@ public class PlayerSettingsPresenter {
settingsPresenter.appendRadioCategory(mContext.getString(R.string.player_ui_hide_behavior), options);
}
private void appendOtherCategory(AppSettingsPresenter settingsPresenter) {
List<OptionItem> options = new ArrayList<>();
options.add(UiOptionItem.from(mContext.getString(R.string.player_full_date),
option -> mPlayerUIData.showFullDate(option.isSelected()),
mPlayerUIData.isShowFullDateEnabled()));
settingsPresenter.appendCheckedCategory(mContext.getString(R.string.player_other), options);
}
}

View File

@@ -15,6 +15,7 @@ public class PlayerData {
private final AppPrefs mPrefs;
private int mOKButtonBehavior;
private int mUIHideTimeoutSec;
private boolean mIsShowFullDateEnabled;
public PlayerData(Context context) {
mContext = context;
@@ -48,6 +49,15 @@ public class PlayerData {
return mUIHideTimeoutSec;
}
public void showFullDate(boolean show) {
mIsShowFullDateEnabled = show;
persistData();
}
public boolean isShowFullDateEnabled() {
return mIsShowFullDateEnabled;
}
private void restoreData() {
String data = mPrefs.getPlayerData();
@@ -55,9 +65,10 @@ public class PlayerData {
mOKButtonBehavior = Helpers.parseInt(split, 0, ONLY_UI);
mUIHideTimeoutSec = Helpers.parseInt(split, 1, 3);
mIsShowFullDateEnabled = Helpers.parseBoolean(split, 2, false);
}
private void persistData() {
mPrefs.setPlayerData(Helpers.mergeObject(mOKButtonBehavior, mUIHideTimeoutSec));
mPrefs.setPlayerData(Helpers.mergeObject(mOKButtonBehavior, mUIHideTimeoutSec, mIsShowFullDateEnabled));
}
}

View File

@@ -94,4 +94,6 @@
<string name="show_again">Больше не показывать</string>
<string name="check_updates_auto">Проверять автоматически</string>
<string name="select_account_on_boot">Выбирать на старте</string>
<string name="player_other">Other</string>
<string name="player_full_date">Точная дата в описании</string>
</resources>

View File

@@ -94,4 +94,6 @@
<string name="show_again">Більше не показувати</string>
<string name="check_updates_auto">Перевіряти автоматично</string>
<string name="select_account_on_boot">Обирати на старті</string>
<string name="player_other">Other</string>
<string name="player_full_date">Точна дата в описі</string>
</resources>

View File

@@ -94,4 +94,6 @@
<string name="show_again">Show again</string>
<string name="check_updates_auto">Check automatically</string>
<string name="select_account_on_boot">Select on boot</string>
<string name="player_other">Other</string>
<string name="player_full_date">Precise date in description</string>
</resources>