Set-aside code
Code that is unused or dead today. It is left out of every other page, and listed here once so nothing gets rebuilt by accident.
Every item below was checked against the live code before it was set aside, and none of it appears on any other page of this site.
How it was found
| Check | What counts as unused |
|---|---|
| Callers | Whole-word grep -w across app/src, data/src and res finds no reference outside the item's own file (tests included, so tests only add references) |
| One-hop follow | A caller that is itself dead (for example a method only called from an unused activity) does not count |
| Manifest | Activities and providers not registered, or registered but never started |
| Scheduling | Workers with no enqueue call, or whose setup call is commented out |
| Resources | Layouts with no R.layout, @layout or binding-class reference; strings and drawables with no reference |
| Visibility | Screens reachable only from a view that is gone in XML and never shown |
| Database | Tables never written, or written but never read; DAO methods with zero callers |
Confidence
| Level | Meaning |
|---|---|
| High | Zero references and no reflective path. Shown with hatched rows |
| Medium | No references found, but it could be reached by class name: WorkManager workers, response handlers and integrators the Bridge queue re-creates by name, Glide or data-binding adapters |
| Low | Used only from the Firebase console or by a library at runtime (for example in-app messaging) |
How much. About 1,800 lines of unused classes, about 2,200 lines of unused layouts, about 2,500 lines of commented-out code and about 150 lines of root-level scratch and old build config: roughly 6,500-7,000 lines, 5-6% of the 121k lines of Kotlin and layout XML. On top of that sit 172 unused strings, 24 unused drawables, unused dependencies and about 10 registered tables that are never written or never read.
Advice. Do not port any of this. If a set-aside screen is still wanted (for example Crop Plan or AAP 2024-25), treat it as a new requirement and specify it again. One caution for the cutover: response-handler classes are stored by name in queued operations on devices, so leave even medium-confidence handlers in the old app until its queue has drained.