Skip to content

Commit

Permalink
GeneralData, PlayerData refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
yuliskov committed Apr 23, 2024
1 parent ac4a79e commit 95fe8bb
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ public class GeneralData implements ProfileChangeListener {
private List<String> mChangelog;
private Map<String, Integer> mPlaylistOrder;
private final Map<Integer, Integer> mDefaultSections = new LinkedHashMap<>();
private final List<Video> mPendingStreams = new CopyOnWriteArrayList<>();
private final List<Video> mPinnedItems = new CopyOnWriteHashList<>();
private List<Video> mPinnedItems;
private List<Video> mPendingStreams;
private boolean mIsFullscreenModeEnabled;
private Map<Integer, Video> mSelectedItems;

Expand Down Expand Up @@ -951,7 +951,8 @@ private void restoreState() {
mAppExitShortcut = Helpers.parseInt(split, 3, EXIT_DOUBLE_BACK);
mIsPlayerOnlyModeEnabled = Helpers.parseBoolean(split, 4, false);
mBackgroundShortcut = Helpers.parseInt(split, 5, BACKGROUND_PLAYBACK_SHORTCUT_HOME_BACK);
String pinnedItems = Helpers.parseStr(split, 6);
//String pinnedItems = Helpers.parseStr(split, 6);
mPinnedItems = Helpers.parseList(split, 6, Video::fromString);
mIsHideShortsFromSubscriptionsEnabled = Helpers.parseBoolean(split, 7, false);
mIsRemapFastForwardToNextEnabled = Helpers.parseBoolean(split, 8, false);
//mScreenDimmingTimeoutMs = Helpers.parseInt(split, 9, 1);
Expand All @@ -975,7 +976,8 @@ private void restoreState() {
mIsVPNEnabled = Helpers.parseBoolean(split, 27, false);
mLastPlaylistTitle = Helpers.parseStr(split, 28);
mPlaylistOrder = Helpers.parseMap(split, 29, Helpers::parseStr, Helpers::parseInt);
String pendingStreams = Helpers.parseStr(split, 30);
//String pendingStreams = Helpers.parseStr(split, 30);
mPendingStreams = Helpers.parseList(split, 30, Video::fromString);
mIsGlobalClockEnabled = Helpers.parseBoolean(split, 31, true);
mTimeFormat = Helpers.parseInt(split, 32, -1);
mSettingsPassword = Helpers.parseStr(split, 33);
Expand Down Expand Up @@ -1012,25 +1014,10 @@ private void restoreState() {
mRememberPinnedPosition = Helpers.parseBoolean(split, 62, false);
mSelectedItems = Helpers.parseMap(split, 63, Helpers::parseInt, Video::fromString);

if (pinnedItems != null && !pinnedItems.isEmpty()) {
mPinnedItems.clear();
String[] pinnedItemsArr = Helpers.splitArray(pinnedItems);

for (String pinnedItem : pinnedItemsArr) {
mPinnedItems.add(Video.fromString(pinnedItem));
}
} else {
if (mPinnedItems == null) {
initPinnedItems();
}

if (pendingStreams != null && !pendingStreams.isEmpty()) {
mPendingStreams.clear();
String[] pendingStreamsArr = Helpers.splitArray(pendingStreams);
for (String pendingStream : pendingStreamsArr) {
mPendingStreams.add(Video.fromString(pendingStream));
}
}

// Backward compatibility
enableSection(MediaGroup.TYPE_SETTINGS, true);

Expand Down Expand Up @@ -1071,10 +1058,6 @@ private int getSectionId(Video item) {

@Override
public void onProfileChanged() {
// reset on profile change
mPinnedItems.clear();
mPendingStreams.clear();

restoreState();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public class PlayerData extends DataChangeBase implements PlayerEngineConstants,
private boolean mIsSkipShortsEnabled;
private boolean mIsLiveChatEnabled;
private FormatItem mLastSubtitleFormat;
private final Set<String> mEnabledSubtitlesPerChannel = new LinkedHashSet<>();
private List<String> mEnabledSubtitlesPerChannel;
private boolean mIsSubtitlesPerChannelEnabled;
private boolean mIsSpeedPerChannelEnabled;
private final Map<String, SpeedItem> mSpeeds = new HashMap<>();
Expand Down Expand Up @@ -784,7 +784,8 @@ private void restoreState() {
mRepeatMode = Helpers.parseInt(split, 51, PlayerUI.REPEAT_MODE_ALL);
mAudioLanguage = Helpers.parseStr(split, 52, LocaleUtility.getCurrentLanguage(mPrefs.getContext()));
mSubtitleLanguage = Helpers.parseStr(split, 53, LocaleUtility.getCurrentLanguage(mPrefs.getContext()));
String enabledSubtitles = Helpers.parseStr(split, 54);
//String enabledSubtitles = Helpers.parseStr(split, 54);
mEnabledSubtitlesPerChannel = Helpers.parseStrList(split, 54);
mIsSubtitlesPerChannelEnabled = Helpers.parseBoolean(split, 55, true);
mIsSpeedPerChannelEnabled = Helpers.parseBoolean(split, 56, true);
String[] speeds = Helpers.parseArray(split, 57);
Expand All @@ -798,25 +799,13 @@ private void restoreState() {
}
}

if (enabledSubtitles != null) {
String[] channelsArr = Helpers.splitArray(enabledSubtitles);

mEnabledSubtitlesPerChannel.clear();

mEnabledSubtitlesPerChannel.addAll(Arrays.asList(channelsArr));
} else {
mEnabledSubtitlesPerChannel.clear();
}

if (!mIsAllSpeedEnabled) {
mSpeed = 1.0f;
}
}

@Override
protected void persistState() {
String enabledSubtitles = Helpers.mergeArray(mEnabledSubtitlesPerChannel.toArray());

mPrefs.setProfileData(VIDEO_PLAYER_DATA, Helpers.mergeData(mOKButtonBehavior, mUiHideTimeoutSec, null,
mSeekPreviewMode, mIsSeekConfirmPauseEnabled,
mIsClockEnabled, mIsRemainingTimeEnabled, mBackgroundMode, null, // afrData was there
Expand All @@ -828,7 +817,7 @@ protected void persistState() {
mIsGlobalEndingTimeEnabled, mIsEndingTimeEnabled, mIsDoubleRefreshRateEnabled, mIsSeekConfirmPlayEnabled,
mStartSeekIncrementMs, null, mSubtitleScale, mPlayerVolume, mIsTooltipsEnabled, mSubtitlePosition, mIsNumberKeySeekEnabled,
mIsSkip24RateEnabled, mAfrPauseMs, mIsLiveChatEnabled, Helpers.toString(mLastSubtitleFormat), mLastSpeed, mVideoRotation,
mVideoZoom, mRepeatMode, mAudioLanguage, mSubtitleLanguage, enabledSubtitles, mIsSubtitlesPerChannelEnabled,
mVideoZoom, mRepeatMode, mAudioLanguage, mSubtitleLanguage, mEnabledSubtitlesPerChannel, mIsSubtitlesPerChannelEnabled,
mIsSpeedPerChannelEnabled, Helpers.mergeArray(mSpeeds.values().toArray()), mPitch, mIsSkipShortsEnabled
));

Expand All @@ -839,7 +828,6 @@ protected void persistState() {
public void onProfileChanged() {
// reset on profile change
mSpeeds.clear();
mEnabledSubtitlesPerChannel.clear();

restoreState();
}
Expand Down
2 changes: 1 addition & 1 deletion scripts/release_cleanup.bat
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@echo off

echo Running %~n0...
echo This script removes all apks from the repo.
echo This script removes old apks from the repo.
echo Existing tags and releases won't be touched.
echo To skip specific tags add your patterns below.
echo This could be helpful when you need to clean the repo after DMCA Notice.
Expand Down

0 comments on commit 95fe8bb

Please sign in to comment.