fix: Add build script and fix manifest

- Add build-apk.sh for easy compilation
- Simplify AndroidManifest.xml
- Fix themes.xml to use basic Android themes
- Enable BuildConfig
- Add okhttp-dnsoverhttps dependency
This commit is contained in:
Renato
2026-01-28 22:36:38 +00:00
parent d3ce7872e7
commit 2ccdf3a78c
11853 changed files with 741631 additions and 543 deletions

View File

@@ -0,0 +1,3 @@
#Wed Jan 28 22:33:01 UTC 2026
com.iptv.app-main-5\:/xml/network_security_config.xml=/mnt/c/Users/Administrator/Documents/iptv/IPTVApp/app/build/intermediates/packaged_res/debug/xml/network_security_config.xml
com.iptv.app-main-5\:/xml/file_provider_paths.xml=/mnt/c/Users/Administrator/Documents/iptv/IPTVApp/app/build/intermediates/packaged_res/debug/xml/file_provider_paths.xml

View File

@@ -0,0 +1,385 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background">#FAFAFA</color>
<color name="background_dark">#121212</color>
<color name="border">#BDBDBD</color>
<color name="border_dark">#616161</color>
<color name="catchup_background">#F3E5F5</color>
<color name="catchup_background_dark">#311B92</color>
<color name="catchup_indicator">#9C27B0</color>
<color name="category_documentary">#795548</color>
<color name="category_education">#3F51B5</color>
<color name="category_entertainment">#FF9800</color>
<color name="category_kids">#00BCD4</color>
<color name="category_movies">#9C27B0</color>
<color name="category_music">#E91E63</color>
<color name="category_news">#F44336</color>
<color name="category_sports">#4CAF50</color>
<color name="channel_epg_current">#757575</color>
<color name="channel_epg_current_dark">#B3B3B3</color>
<color name="channel_epg_next">#9E9E9E</color>
<color name="channel_epg_next_dark">#757575</color>
<color name="channel_favorite">#FFC107</color>
<color name="channel_hd_indicator">#4CAF50</color>
<color name="channel_name">#212121</color>
<color name="channel_name_dark">#FFFFFF</color>
<color name="channel_number">#757575</color>
<color name="channel_number_dark">#9E9E9E</color>
<color name="divider">#E0E0E0</color>
<color name="divider_dark">#424242</color>
<color name="epg_channel_header">#FFFFFF</color>
<color name="epg_channel_header_dark">#1E1E1E</color>
<color name="epg_program_live">#FFEBEE</color>
<color name="epg_program_live_dark">#3E2723</color>
<color name="epg_program_normal">#FFFFFF</color>
<color name="epg_program_normal_dark">#1E1E1E</color>
<color name="epg_program_selected">#E3F2FD</color>
<color name="epg_program_selected_dark">#0D47A1</color>
<color name="epg_time_header">#F5F5F5</color>
<color name="epg_time_header_dark">#2D2D2D</color>
<color name="epg_timeline">#1976D2</color>
<color name="epg_timeline_dark">#42A5F5</color>
<color name="error">#B00020</color>
<color name="error_dark">#CF6679</color>
<color name="highly_transparent">#1A000000</color>
<color name="info">#2196F3</color>
<color name="info_dark">#64B5F6</color>
<color name="navigation_background">#FFFFFF</color>
<color name="navigation_background_dark">#1E1E1E</color>
<color name="navigation_item">#757575</color>
<color name="navigation_item_dark">#B3B3B3</color>
<color name="navigation_item_selected">#1976D2</color>
<color name="navigation_item_selected_dark">#42A5F5</color>
<color name="overlay_dark">#80000000</color>
<color name="overlay_light">#80FFFFFF</color>
<color name="player_controls_background">#CC000000</color>
<color name="player_controls_background_dark">#CC000000</color>
<color name="player_live_indicator">#F44336</color>
<color name="player_live_indicator_dark">#EF5350</color>
<color name="player_progress_buffer">#BDBDBD</color>
<color name="player_progress_primary">#FF5722</color>
<color name="player_progress_secondary">#757575</color>
<color name="player_text">#FFFFFF</color>
<color name="primary">#1976D2</color>
<color name="primary_dark">#1565C0</color>
<color name="primary_light">#42A5F5</color>
<color name="primary_variant">#0D47A1</color>
<color name="recording_background">#FFEBEE</color>
<color name="recording_background_dark">#3E2723</color>
<color name="recording_indicator">#F44336</color>
<color name="ripple">#1F000000</color>
<color name="ripple_dark">#33FFFFFF</color>
<color name="scrim">#52000000</color>
<color name="scrim_dark">#99000000</color>
<color name="search_background">#F5F5F5</color>
<color name="search_background_dark">#2D2D2D</color>
<color name="search_hint">#9E9E9E</color>
<color name="search_hint_dark">#757575</color>
<color name="secondary">#FF5722</color>
<color name="secondary_dark">#E64A19</color>
<color name="secondary_light">#FF8A65</color>
<color name="secondary_variant">#BF360C</color>
<color name="selection">#E3F2FD</color>
<color name="selection_dark">#0D47A1</color>
<color name="semi_transparent">#80000000</color>
<color name="success">#4CAF50</color>
<color name="success_dark">#81C784</color>
<color name="surface">#FFFFFF</color>
<color name="surface_dark">#1E1E1E</color>
<color name="surface_variant">#F5F5F5</color>
<color name="surface_variant_dark">#2D2D2D</color>
<color name="tertiary">#00BCD4</color>
<color name="tertiary_dark">#0097A7</color>
<color name="tertiary_light">#4DD0E1</color>
<color name="text_disabled">#9E9E9E</color>
<color name="text_disabled_dark">#666666</color>
<color name="text_on_primary">#FFFFFF</color>
<color name="text_on_secondary">#FFFFFF</color>
<color name="text_primary">#212121</color>
<color name="text_primary_dark">#FFFFFF</color>
<color name="text_secondary">#757575</color>
<color name="text_secondary_dark">#B3B3B3</color>
<color name="transparent">#00000000</color>
<color name="warning">#FFC107</color>
<color name="warning_dark">#FFD54F</color>
<string name="about_build">Build %d</string>
<string name="about_copyright">Copyright 2024 IPTV Player</string>
<string name="about_feedback">Send Feedback</string>
<string name="about_license">Licensed under Apache 2.0</string>
<string name="about_open_source">Open Source Licenses</string>
<string name="about_privacy_policy">Privacy Policy</string>
<string name="about_rate_app">Rate App</string>
<string name="about_share_app">Share App</string>
<string name="about_terms_of_service">Terms of Service</string>
<string name="about_version">Version %s</string>
<string name="accessibility_back">Go back</string>
<string name="accessibility_channel_down">Channel down</string>
<string name="accessibility_channel_up">Channel up</string>
<string name="accessibility_close">Close</string>
<string name="accessibility_favorite">Toggle favorite</string>
<string name="accessibility_fullscreen">Toggle fullscreen</string>
<string name="accessibility_menu">Menu</string>
<string name="accessibility_mute">Mute</string>
<string name="accessibility_pause">Pause button</string>
<string name="accessibility_play">Play button</string>
<string name="accessibility_search">Search</string>
<string name="accessibility_settings">Settings</string>
<string name="accessibility_stop">Stop button</string>
<string name="accessibility_volume_down">Volume down</string>
<string name="accessibility_volume_up">Volume up</string>
<string name="add_playlist_hint">Add a playlist to start watching</string>
<string name="app_name">IPTV Player</string>
<string name="app_name_short">IPTV</string>
<string name="aspect_16_9">16:9</string>
<string name="aspect_4_3">4:3</string>
<string name="aspect_auto">Auto</string>
<string name="aspect_fill">Fill Screen</string>
<string name="aspect_fit">Fit Screen</string>
<string name="aspect_zoom">Zoom</string>
<string name="category_all">All</string>
<string name="category_documentary">Documentary</string>
<string name="category_education">Education</string>
<string name="category_entertainment">Entertainment</string>
<string name="category_international">International</string>
<string name="category_kids">Kids</string>
<string name="category_lifestyle">Lifestyle</string>
<string name="category_local">Local</string>
<string name="category_movies">Movies</string>
<string name="category_music">Music</string>
<string name="category_news">News</string>
<string name="category_radio">Radio</string>
<string name="category_religious">Religious</string>
<string name="category_sports">Sports</string>
<string name="channel_4k">4K</string>
<string name="channel_add_favorite">Add to Favorites</string>
<string name="channel_current">Now: %s</string>
<string name="channel_fhd">FHD</string>
<string name="channel_group_all">All Channels</string>
<string name="channel_group_favorites">Favorites</string>
<string name="channel_group_recent">Recently Watched</string>
<string name="channel_hd">HD</string>
<string name="channel_live">LIVE</string>
<string name="channel_next">Next: %s</string>
<string name="channel_no_epg">No program information</string>
<string name="channel_no_favorites">No favorite channels</string>
<string name="channel_number">Channel %d</string>
<string name="channel_remove_favorite">Remove from Favorites</string>
<string name="channel_search_hint">Search channels...</string>
<string name="channels">Channels</string>
<string name="confirm_clear_history">Clear search history?</string>
<string name="confirm_delete_playlist">Delete this playlist?</string>
<string name="confirm_delete_recording">Delete this recording?</string>
<string name="confirm_exit">Exit the app?</string>
<string name="confirm_stop_recording">Stop recording?</string>
<string name="continue_watching">Continue Watching</string>
<string name="desc_app_logo">App Logo</string>
<string name="desc_channel_logo">Channel Logo</string>
<string name="desc_player_controls">Player Controls</string>
<string name="desc_program_thumbnail">Program Thumbnail</string>
<string name="desc_progress_bar">Progress Bar</string>
<string name="desc_volume_indicator">Volume Indicator</string>
<string name="dialog_add">Add</string>
<string name="dialog_back">Back</string>
<string name="dialog_cancel">Cancel</string>
<string name="dialog_close">Close</string>
<string name="dialog_confirm">Confirm</string>
<string name="dialog_delete">Delete</string>
<string name="dialog_edit">Edit</string>
<string name="dialog_loading">Loading...</string>
<string name="dialog_no">No</string>
<string name="dialog_ok">OK</string>
<string name="dialog_please_wait">Please wait...</string>
<string name="dialog_save">Save</string>
<string name="dialog_yes">Yes</string>
<string name="epg">TV Guide</string>
<string name="epg_catch_up">Catch-up Available</string>
<string name="epg_load_error">Failed to load EPG</string>
<string name="epg_loading">Loading EPG...</string>
<string name="epg_no_data">No EPG data available</string>
<string name="epg_now">Now</string>
<string name="epg_program_details">Program Details</string>
<string name="epg_program_duration">Duration: %s</string>
<string name="epg_program_end">End: %s</string>
<string name="epg_program_start">Start: %s</string>
<string name="epg_reminder_cancel">Cancel Reminder</string>
<string name="epg_reminder_set">Reminder Set</string>
<string name="epg_title">Electronic Program Guide</string>
<string name="epg_today">Today</string>
<string name="epg_tomorrow">Tomorrow</string>
<string name="epg_yesterday">Yesterday</string>
<string name="error_file_not_found">File not found.</string>
<string name="error_invalid_url">Invalid URL.</string>
<string name="error_network">Network error. Please check your connection.</string>
<string name="error_no_internet">No internet connection.</string>
<string name="error_permission_denied">Permission denied.</string>
<string name="error_playback">Playback error. Please try again.</string>
<string name="error_storage_full">Storage full.</string>
<string name="error_stream_unavailable">Stream unavailable.</string>
<string name="error_timeout">Connection timeout.</string>
<string name="error_unknown">An unknown error occurred.</string>
<string name="error_unsupported_format">Unsupported media format.</string>
<string name="featured_channels">Featured</string>
<string name="nav_categories">Categories</string>
<string name="nav_channels">Channels</string>
<string name="nav_epg">TV Guide</string>
<string name="nav_favorites">Favorites</string>
<string name="nav_home">Home</string>
<string name="nav_recordings">Recordings</string>
<string name="nav_search">Search</string>
<string name="nav_settings">Settings</string>
<string name="no_playlist">No playlist loaded</string>
<string name="player_aspect_ratio">Aspect Ratio</string>
<string name="player_audio_track">Audio Track</string>
<string name="player_buffering">Buffering...</string>
<string name="player_cast">Cast</string>
<string name="player_error">Playback Error</string>
<string name="player_exit_fullscreen">Exit Fullscreen</string>
<string name="player_fullscreen">Fullscreen</string>
<string name="player_live">LIVE</string>
<string name="player_loading">Loading...</string>
<string name="player_next">Next Channel</string>
<string name="player_pause">Pause</string>
<string name="player_pip">Picture in Picture</string>
<string name="player_play">Play</string>
<string name="player_previous">Previous Channel</string>
<string name="player_record">Record</string>
<string name="player_retry">Retry</string>
<string name="player_settings">Player Settings</string>
<string name="player_stop">Stop</string>
<string name="player_stop_record">Stop Recording</string>
<string name="player_subtitle">Subtitles</string>
<string name="player_subtitle_off">Off</string>
<string name="player_unknown_channel">Unknown Channel</string>
<string name="playlist_add">Add Playlist</string>
<string name="playlist_auto_refresh">Auto Refresh</string>
<string name="playlist_delete">Delete Playlist</string>
<string name="playlist_edit">Edit Playlist</string>
<string name="playlist_empty">Playlist is empty</string>
<string name="playlist_file">Select File</string>
<string name="playlist_invalid">Invalid playlist format</string>
<string name="playlist_last_updated">Last updated: %s</string>
<string name="playlist_load">Load Playlist</string>
<string name="playlist_load_error">Failed to load playlist</string>
<string name="playlist_load_success">Playlist loaded successfully</string>
<string name="playlist_m3u_supported">Supported formats: M3U, M3U8</string>
<string name="playlist_name">Playlist Name</string>
<string name="playlist_refresh">Refresh Playlist</string>
<string name="playlist_title">Playlist</string>
<string name="playlist_url">Playlist URL</string>
<string name="recent_channels">Recent Channels</string>
<string name="recording">Recording</string>
<string name="recording_duration">Recording: %s</string>
<string name="recording_failed">Recording Failed</string>
<string name="recording_in_progress">Recording in Progress</string>
<string name="recording_no_storage">No storage available</string>
<string name="recording_saved">Recording Saved</string>
<string name="recording_start">Start Recording</string>
<string name="recording_stop">Stop Recording</string>
<string name="recording_storage">Storage Location</string>
<string name="search">Search</string>
<string name="search_clear_history">Clear History</string>
<string name="search_filters">Filters</string>
<string name="search_hint">Search channels or programs...</string>
<string name="search_history">Search History</string>
<string name="search_no_results">No results found</string>
<string name="setting_allow_insecure">Allow Insecure Connections</string>
<string name="setting_audio_language">Preferred Audio Language</string>
<string name="setting_auto_play">Auto Play Last Channel</string>
<string name="setting_auto_update">Auto Update Playlists</string>
<string name="setting_auto_update_interval">Update Interval</string>
<string name="setting_buffer_size">Buffer Size</string>
<string name="setting_channel_info_timeout">Channel Info Timeout</string>
<string name="setting_default_aspect">Default Aspect Ratio</string>
<string name="setting_epg_auto_update">Auto Update EPG</string>
<string name="setting_epg_hours_visible">Hours Visible</string>
<string name="setting_epg_update_interval">EPG Update Interval</string>
<string name="setting_epg_url">EPG URL</string>
<string name="setting_hardware_decoding">Hardware Decoding</string>
<string name="setting_http_timeout">HTTP Timeout</string>
<string name="setting_language">Language</string>
<string name="setting_preferred_quality">Preferred Quality</string>
<string name="setting_proxy_host">Proxy Host</string>
<string name="setting_proxy_port">Proxy Port</string>
<string name="setting_show_channel_info">Show Channel Info</string>
<string name="setting_show_epg_thumbnails">Show Program Thumbnails</string>
<string name="setting_software_decoding">Software Decoding</string>
<string name="setting_startup_page">Startup Page</string>
<string name="setting_subtitle_language">Preferred Subtitle Language</string>
<string name="setting_theme">Theme</string>
<string name="setting_theme_dark">Dark</string>
<string name="setting_theme_light">Light</string>
<string name="setting_theme_system">System Default</string>
<string name="setting_use_proxy">Use Proxy</string>
<string name="setting_user_agent">User Agent</string>
<string name="settings">Settings</string>
<string name="settings_about">About</string>
<string name="settings_advanced">Advanced</string>
<string name="settings_epg">EPG Settings</string>
<string name="settings_general">General</string>
<string name="settings_interface">Interface</string>
<string name="settings_network">Network</string>
<string name="settings_playback">Playback</string>
<string name="settings_player">Player</string>
<string name="success_added">Added successfully</string>
<string name="success_deleted">Deleted successfully</string>
<string name="success_saved">Saved successfully</string>
<string name="success_updated">Updated successfully</string>
<string name="time_format_12h">12-hour format</string>
<string name="time_format_24h">24-hour format</string>
<string name="time_hours_ago">%d hours ago</string>
<string name="time_just_now">Just now</string>
<string name="time_minutes_ago">%d minutes ago</string>
<string name="time_yesterday">Yesterday</string>
<string name="tv_browse_title">IPTV Player</string>
<string name="tv_guide_title">TV Guide</string>
<string name="tv_no_channels">No channels available</string>
<string name="tv_press_select">Press SELECT to play</string>
<string name="tv_search_title">Search</string>
<string name="tv_settings_title">Settings</string>
<string name="update_channel_description">Notifications for app updates and installations</string>
<string name="update_downloading_title">Downloading Update</string>
<string name="update_error_title">Update Failed</string>
<string name="update_ready_message">Tap to install the update</string>
<string name="update_ready_title">Update Ready</string>
<string name="welcome_message">Welcome to IPTV Player</string>
<style name="Theme.IPTVApp" parent="android:Theme.Material.Light.NoActionBar">
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/secondary</item>
<item name="android:statusBarColor">@color/primary_dark</item>
<item name="android:windowLightStatusBar">true</item>
<item name="android:navigationBarColor">@color/background</item>
<item name="android:windowLightNavigationBar">true</item>
</style>
<style name="Theme.IPTVApp.Dark" parent="android:Theme.Material.NoActionBar">
<item name="android:colorPrimary">@color/primary_light</item>
<item name="android:colorPrimaryDark">@color/primary</item>
<item name="android:colorAccent">@color/secondary_light</item>
<item name="android:statusBarColor">@color/background_dark</item>
<item name="android:windowLightStatusBar">false</item>
<item name="android:navigationBarColor">@color/background_dark</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
<style name="Theme.IPTVApp.Fullscreen" parent="Theme.IPTVApp">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:background">@android:color/black</item>
</style>
<style name="Theme.IPTVApp.Fullscreen.Dark" parent="Theme.IPTVApp.Dark">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="android:background">@android:color/black</item>
</style>
</resources>

File diff suppressed because one or more lines are too long