Skip to content

Tags: cjlhll/tivimini

Tags

v1.0.35

Toggle v1.0.35's commit message
refactor: simplify channel variant selection and remove unused latenc…

…y logic

- Removed the pickBestVariantIndex function from ChannelGrouper, streamlining the variant selection process.
- Updated PlayerActivity to implement a new approach for selecting the first reachable channel variant based on probing.
- Eliminated redundant latency measurement logic, enhancing clarity and maintainability of the code.
- Adjusted unit tests in ChannelGrouperTest to reflect the removal of the pickBestVariantIndex function.

v1.0.34

Toggle v1.0.34's commit message
feat: enhance channel selection with latency probing and improved var…

…iant logic

- Introduced SourceLatencyProber for measuring and caching response times of channel sources.
- Updated ChannelGrouper to select the best channel variant based on measured latency, prioritizing those with valid logos.
- Refactored PlayerActivity to utilize the new latency probing logic for automatic channel switching.
- Enhanced QualitySelectorDialog to display latency status during probing.
- Added unit tests to validate the new latency-based selection logic in ChannelGrouper.

v1.0.33

Toggle v1.0.33's commit message
feat: add response time handling and improve channel selection logic

- Introduced a new responseTimeMs property in the Channel data class to track latency.
- Updated ChannelGrouper to prioritize channels with the lowest response time when selecting variants.
- Enhanced M3uParser to parse response time from M3U attributes.
- Refactored PlayerActivity and QualitySelectorDialog to display response time in the UI.
- Added unit tests to validate response time parsing and selection logic in ChannelGrouper.

v1.0.32

Toggle v1.0.32's commit message
feat: enhance channel grouping and display name resolution

- Added new regex patterns for improved channel grouping, including support for CCTV and cartoon channels.
- Introduced methods for resolving group names and normalizing group aliases to enhance display accuracy.
- Updated PlayerActivity to utilize the new grouping and display name logic for better user experience.
- Added unit tests to validate the new group resolution and inference logic in ChannelGrouper.

v1.0.31

Toggle v1.0.31's commit message
feat: enhance channel grouping and recovery variant logic

- Updated ChannelGrouper to include fallback logic for selecting the best group variant based on previous groups and indices.
- Modified PlayerActivity to support new PlaylistUpdateMode for better handling of playlist updates and recovery scenarios.
- Enhanced applyPlaylistContent method to utilize previous group data for improved playback continuity.
- Added unit tests to validate the new fallback behavior in ChannelGrouper when URLs are no longer available.

v1.0.30

Toggle v1.0.30's commit message
feat: implement background source updater and application initialization

- Added BackgroundSourceUpdater to manage playlist and EPG refresh operations in the background.
- Created IptvApplication class to initialize the background updater on application startup.
- Updated AndroidManifest.xml to register the new application class.
- Enhanced MainActivity to schedule a refresh after starting a new activity.
- Introduced new methods in ChannelGrouper for recovery variant selection based on failed URLs.
- Added unit tests to validate the recovery variant logic in ChannelGrouper.

v1.0.29

Toggle v1.0.29's commit message
feat: enhance channel grouping and display name normalization

- Added support for bracketed flags in channel titles to improve grouping accuracy.
- Introduced a new regex in EpgNormalize for stripping bracket tags from titles.
- Updated the mergeKeys function in ChannelGrouper to handle new title formats.
- Enhanced unit tests to validate the new grouping logic and display name handling.

v1.0.28

Toggle v1.0.28's commit message
feat: improve channel grouping and display name normalization

- Enhanced ChannelGrouper to merge channels with bracketed quality titles into a single group, improving grouping accuracy.
- Introduced a new method in EpgNormalize to strip quality markers from channel titles for cleaner display names.
- Updated PlayerActivity to utilize the normalized display names for better user experience.
- Added unit tests to validate the new grouping logic and display name normalization functionality.

v1.0.27

Toggle v1.0.27's commit message
feat: enhance channel grouping and player functionality

- Refactored ChannelGrouper to streamline channel grouping using primary keys and improved logic for variant selection.
- Added methods to find group and variant indices by URL for better navigation within the player.
- Updated PlayerActivity to utilize new grouping methods, ensuring correct playback and quality selection.
- Enhanced PlayerDrawer to manage focus restoration and scrolling behavior more effectively.
- Introduced new unit tests to validate grouping logic and ensure correct behavior across various scenarios.

v1.0.26

Toggle v1.0.26's commit message
feat: add channel switch loading and quality selector components

- Introduced ChannelSwitchLoading and QualitySelectorDialog for improved user experience during channel switching and quality selection.
- Implemented ChannelSwitchController to manage visibility and session states for loading indicators.
- Updated PlayerActivity and SettingsDrawer to integrate new components, allowing for quality selection and loading feedback.
- Enhanced VideoPlayerScreen to utilize the channel switch loading functionality during playback initiation.