{"adoption": {"forks": 206, "observed_at": "2026-08-28T04:03:34.497094+00:00", "stars": 1096}, "canonical_url": "https://ross.abutalabs.com/products/hipermission", "card": {"archived": false, "artifact_type": "library", "description": "A simple and beautiful runtime permission library on Android.", "domain": ["mobile-development", "android-tools"], "enriched": true, "function": ["auth", "ui-components"], "health_score": 20, "homepage": "http://www.jianshu.com/p/c83503f0384d", "language": "Java", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["yewei02538/HiPermission"], "name": "yewei02538/HiPermission", "platform": [], "pushed_at": "2019-09-22T14:58:57+00:00", "repo": "yewei02538/HiPermission", "stars": 1096, "tags": ["runtime-permissions", "android-library", "permission-dialog", "java", "android"], "topics": [], "urls": [], "use_cases": ["request android runtime permissions with one line of code", "show a dialog explaining why the app needs permissions before requesting them", "request multiple permissions like camera, location, and storage at app launch", "customize the permission request UI colors, title, and message", "handle permission granted and denied callbacks in an android app"], "what_it_is": "HiPermission is an Android library that simplifies requesting runtime permissions with a single line of code, showing a customizable pre-permission dialog explaining why permissions are needed. It supports requesting multiple permissions at once with callbacks for granted and denied results.", "when_to_avoid": ["you need a maintained library - the last release was in 2019 and there is no license", "you use Kotlin-first modern permission libraries like Accompanist Permissions", "you target newer Android versions where built-in APIs may suffice"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hipermission", "repo": "yewei02538/HiPermission", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "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:34.497094+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.497094+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:47:13.137056+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "616f4a37d0a1a3cb06c6189ab3be4eac20a877abecad778b9139dc9058b19348", "fetched_at": "2026-08-28T04:03:34.497094+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yewei02538/HiPermission"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3401, "days_push": 2537, "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}}