feat: multi-source player with episode selection and auto-hide controls

- VideoExtractor: extract PlaySource (source tabs) with episodes grouped per source
- SiteConfig: add sourceSelector and sourceEpisodeGroupSelector CSS selectors
- PlayerActivity: source tabs + episode list at bottom, auto-hide after 4s, tap to toggle
- SettingsActivity: add source selector configuration fields
- Fullscreen playback with ExoPlayer or WebView fallback
This commit is contained in:
xiaji
2026-05-24 21:30:37 +08:00
parent cf17ce7722
commit cb016c116f
7 changed files with 227 additions and 103 deletions

View File

@@ -19,7 +19,7 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.videoapp.tv.R
import com.videoapp.tv.BrowserActivity
import com.videoapp.tv.PlayerActivity
import com.videoapp.tv.SettingsActivity
import com.videoapp.tv.data.AppDatabase
import com.videoapp.tv.data.SearchHistory
@@ -185,9 +185,10 @@ class SearchFragment : Fragment() {
}
private fun openPlayer(result: SearchResult) {
val intent = Intent(requireContext(), BrowserActivity::class.java).apply {
putExtra("url", result.detailUrl)
val intent = Intent(requireContext(), PlayerActivity::class.java).apply {
putExtra("detail_url", result.detailUrl)
putExtra("title", result.title)
putExtra("category", result.category)
}
startActivity(intent)
}