{"adoption": {"forks": 262, "observed_at": "2026-08-28T04:06:30.053025+00:00", "stars": 2245}, "canonical_url": "https://ross.abutalabs.com/products/fragmentrigger", "card": {"archived": false, "artifact_type": "library", "description": ":boom:A powerful library powered by AOP to manage Fragments.（一个基于AOP设计的Fragment管理框架）", "domain": ["mobile-development", "android-tools", "developer-tools"], "enriched": true, "function": ["mobile-framework", "middleware"], "health_score": 59, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JingYeoh/FragmentRigger"], "name": "JingYeoh/FragmentRigger", "platform": ["jvm"], "pushed_at": "2026-02-01T13:08:44+00:00", "repo": "JingYeoh/FragmentRigger", "stars": 2245, "tags": ["fragments", "aop", "aspectj", "android-library", "swipeback", "lifecycle-management", "android"], "topics": ["android", "android-library", "fragments", "fragment", "activity-fragment", "aop", "aspectj", "swipeback"], "urls": [], "use_cases": ["manage android fragments without extending base classes", "add lazy loading to fragments", "implement swipe edge to exit activity or fragment", "handle fragment stack navigation", "start fragment for result", "intercept back button presses in fragments"], "what_it_is": "FragmentRigger is an Android library that manages Fragments using AOP (AspectJ) pointcuts on Fragment/Activity lifecycle methods, requiring no class extension—just a one-line annotation. It supports common fragment scenarios like stack management, lazy loading, transitions, swipe-back, and startFragmentForResult.", "when_to_avoid": ["you avoid bytecode weaving or AOP plugins in your build", "you use Jetpack Navigation or modern fragment APIs", "the project appears to be in maintenance with limited recent activity"], "when_to_choose": ["you want minimal-intrusion fragment management on Android via annotations", "you need lazy loading, transitions, or swipe-back without rewriting base classes", "your project already uses AspectJ tooling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fragmentrigger", "repo": "JingYeoh/FragmentRigger", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "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:06:30.053025+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:30.053025+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:59.546293+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9dcaf47bf06b629b96a7c907c033bca5babec6948fa1d2dc818774457301167", "fetched_at": "2026-08-28T04:06:30.053025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JingYeoh/FragmentRigger"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 65, "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": 3212, "days_push": 213, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}