subtitle size reset fix

This commit is contained in:
tapframe 2025-09-18 14:59:53 +05:30
parent 532d6fb8a0
commit ff4b8f9bbc
2 changed files with 13 additions and 2 deletions

View file

@ -264,6 +264,7 @@ const AndroidVideoPlayer: React.FC = () => {
const [brightness, setBrightness] = useState(1.0); const [brightness, setBrightness] = useState(1.0);
const [showVolumeOverlay, setShowVolumeOverlay] = useState(false); const [showVolumeOverlay, setShowVolumeOverlay] = useState(false);
const [showBrightnessOverlay, setShowBrightnessOverlay] = useState(false); const [showBrightnessOverlay, setShowBrightnessOverlay] = useState(false);
const [subtitleSettingsLoaded, setSubtitleSettingsLoaded] = useState(false);
const volumeOverlayOpacity = useRef(new Animated.Value(0)).current; const volumeOverlayOpacity = useRef(new Animated.Value(0)).current;
const brightnessOverlayOpacity = useRef(new Animated.Value(0)).current; const brightnessOverlayOpacity = useRef(new Animated.Value(0)).current;
const volumeOverlayTimeout = useRef<NodeJS.Timeout | null>(null); const volumeOverlayTimeout = useRef<NodeJS.Timeout | null>(null);
@ -2455,12 +2456,15 @@ const AndroidVideoPlayer: React.FC = () => {
if (typeof saved.subtitleLineHeightMultiplier === 'number') setSubtitleLineHeightMultiplier(saved.subtitleLineHeightMultiplier); if (typeof saved.subtitleLineHeightMultiplier === 'number') setSubtitleLineHeightMultiplier(saved.subtitleLineHeightMultiplier);
if (typeof saved.subtitleOffsetSec === 'number') setSubtitleOffsetSec(saved.subtitleOffsetSec); if (typeof saved.subtitleOffsetSec === 'number') setSubtitleOffsetSec(saved.subtitleOffsetSec);
} }
} catch {} } catch {} finally {
try { setSubtitleSettingsLoaded(true); } catch {}
}
})(); })();
}, []); }, []);
// Persist global subtitle settings on change // Persist global subtitle settings on change
useEffect(() => { useEffect(() => {
if (!subtitleSettingsLoaded) return;
storageService.saveSubtitleSettings({ storageService.saveSubtitleSettings({
subtitleSize, subtitleSize,
subtitleBackground, subtitleBackground,
@ -2490,6 +2494,7 @@ const AndroidVideoPlayer: React.FC = () => {
subtitleLetterSpacing, subtitleLetterSpacing,
subtitleLineHeightMultiplier, subtitleLineHeightMultiplier,
subtitleOffsetSec, subtitleOffsetSec,
subtitleSettingsLoaded,
]); ]);
const increaseSubtitleSize = () => { const increaseSubtitleSize = () => {

View file

@ -252,6 +252,7 @@ const VideoPlayer: React.FC = () => {
const [brightness, setBrightness] = useState(1.0); const [brightness, setBrightness] = useState(1.0);
const [showVolumeOverlay, setShowVolumeOverlay] = useState(false); const [showVolumeOverlay, setShowVolumeOverlay] = useState(false);
const [showBrightnessOverlay, setShowBrightnessOverlay] = useState(false); const [showBrightnessOverlay, setShowBrightnessOverlay] = useState(false);
const [subtitleSettingsLoaded, setSubtitleSettingsLoaded] = useState(false);
const volumeOverlayOpacity = useRef(new Animated.Value(0)).current; const volumeOverlayOpacity = useRef(new Animated.Value(0)).current;
const brightnessOverlayOpacity = useRef(new Animated.Value(0)).current; const brightnessOverlayOpacity = useRef(new Animated.Value(0)).current;
const volumeOverlayTimeout = useRef<NodeJS.Timeout | null>(null); const volumeOverlayTimeout = useRef<NodeJS.Timeout | null>(null);
@ -2104,12 +2105,16 @@ const VideoPlayer: React.FC = () => {
if (typeof saved.subtitleLineHeightMultiplier === 'number') setSubtitleLineHeightMultiplier(saved.subtitleLineHeightMultiplier); if (typeof saved.subtitleLineHeightMultiplier === 'number') setSubtitleLineHeightMultiplier(saved.subtitleLineHeightMultiplier);
if (typeof saved.subtitleOffsetSec === 'number') setSubtitleOffsetSec(saved.subtitleOffsetSec); if (typeof saved.subtitleOffsetSec === 'number') setSubtitleOffsetSec(saved.subtitleOffsetSec);
} }
} catch {} } catch {} finally {
// Mark subtitle settings as loaded so we can safely persist subsequent changes
try { setSubtitleSettingsLoaded(true); } catch {}
}
})(); })();
}, []); }, []);
// Persist global subtitle settings on change // Persist global subtitle settings on change
useEffect(() => { useEffect(() => {
if (!subtitleSettingsLoaded) return;
storageService.saveSubtitleSettings({ storageService.saveSubtitleSettings({
subtitleSize, subtitleSize,
subtitleBackground, subtitleBackground,
@ -2139,6 +2144,7 @@ const VideoPlayer: React.FC = () => {
subtitleLetterSpacing, subtitleLetterSpacing,
subtitleLineHeightMultiplier, subtitleLineHeightMultiplier,
subtitleOffsetSec, subtitleOffsetSec,
subtitleSettingsLoaded,
]); ]);
useEffect(() => { useEffect(() => {