While going through forks I noticed @Saloframes has already solved a problem we're going to hit: Android 17 changed the return type contract of the getInstalled* methods, and their fork carries a fix in PackageManagerCompat.java that tolerates both shapes, with tests covering the extraction logic and the Android 17 behavior contract.
That's exactly the kind of compat work NG exists for, and I'd much rather merge it than rewrite it.
@Saloframes, if you're up for opening a PR from your branch, it's welcome as-is. The test coverage you added is honestly the part I'm happiest about. If a PR is more ceremony than you want, say the word here and I'll cherry-pick the commits with your authorship intact instead.
For anyone else reading: this is the pattern I want more of. If you've fixed something in a fork, open a PR or just point me at the commit. Fixes rotting in forks help exactly one person.
While going through forks I noticed @Saloframes has already solved a problem we're going to hit: Android 17 changed the return type contract of the
getInstalled*methods, and their fork carries a fix inPackageManagerCompat.javathat tolerates both shapes, with tests covering the extraction logic and the Android 17 behavior contract.That's exactly the kind of compat work NG exists for, and I'd much rather merge it than rewrite it.
@Saloframes, if you're up for opening a PR from your branch, it's welcome as-is. The test coverage you added is honestly the part I'm happiest about. If a PR is more ceremony than you want, say the word here and I'll cherry-pick the commits with your authorship intact instead.
For anyone else reading: this is the pattern I want more of. If you've fixed something in a fork, open a PR or just point me at the commit. Fixes rotting in forks help exactly one person.