{"adoption": {"forks": 326, "observed_at": "2026-08-28T04:03:59.608615+00:00", "stars": 1208}, "canonical_url": "https://ross.abutalabs.com/products/tvsample", "card": {"archived": false, "artifact_type": "learning-resource", "description": "1、仿泰捷视频最新TV版 Metro UI效果. 2、仿腾讯视频TV版(云视听·极光) 列表页", "domain": ["android-tools", "media", "tutorials", "developer-tools"], "enriched": true, "function": ["ui-components", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["smartyuge/TVSample"], "name": "smartyuge/TVSample", "platform": [], "pushed_at": "2017-04-12T12:11:35+00:00", "repo": "smartyuge/TVSample", "stars": 1208, "tags": ["android-tv", "metro-ui", "sample-code", "recyclerview", "leanback", "tv-app-ui", "android", "mobile"], "topics": ["metro-ui", "android-tv"], "urls": [], "use_cases": ["build a metro-style home screen for an Android TV app", "implement a TV video playlist grid with RecyclerView and GridLayoutManager", "learn Android TV UI development patterns", "clone a Tencent Video TV-style list page", "reference sample for TV box app interfaces"], "what_it_is": "An Android TV sample project in Java demonstrating a Metro-style UI imitating the Taijie video TV app and a playlist grid page imitating Tencent Video TV (Cloud Visual Aurora) using RecyclerView with GridLayoutManager. It serves as reference code for Android TV interface development.", "when_to_avoid": ["you need a production-ready TV app framework or maintained library", "you want Kotlin or modern Jetpack Compose TV examples", "you need actively updated code with recent Android TV API support"], "when_to_choose": ["you need working Java sample code for Android TV Metro UI layouts", "you want to see how to build TV grid playlist pages with RecyclerView", "you are learning Android TV development and want visual reference implementations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tvsample", "repo": "smartyuge/TVSample", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:59.608615+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:18:56.038158+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "67e3f11b9761209d760fd1e182e284ab8ae65cac3751a3732b285b6cec5fbc90", "fetched_at": "2026-08-28T04:03:59.608615+00:00", "kind": "readme", "missing": false, "url": "https://github.com/smartyuge/TVSample"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3611, "days_push": 3430, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}