Remove unused DOTS tracker feature#3732
Conversation
Drops the activity declaration and the org.commcare.dalvik.action.DotsEntry intent-filter so the DOTS tracker is no longer launchable. This is the first step in retiring the unused DOTS feature; the Java sources and resources are removed in follow-up commits. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Removes DotsEntryActivity, DotsHomeView, DotsDetailView, DotsData, and DotsEditListener. The activity is no longer registered in the manifest, and no other code in app/ or commcare-core references these classes. The orphaned DOTS layouts/drawables/colors are cleaned up in the next commit. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Removes the layouts (dots_detail, dotsday, dotsdose, dotsdoses, compact_dot_entry), drawables (dots_dose_border, dots_rect_back), and the dotscolors values file that were used only by the now-deleted DOTS tracker. No remaining code references these resources. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis pull request removes the DOTS (Directly Observed Therapy Short-course) medication tracking feature entirely from the CommCare Android application. The removal includes deregistering the DotsEntryActivity from the manifest and eliminating the DotsHomeView UI component that displayed a calendar grid of medication days. The feature removal also extends across the codebase to eliminate the supporting data model (DotsData), listener interface (DotsEditListener), detail editing view (DotsDetailView), and all associated layout XML and drawable resources. Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3732 +/- ##
============================================
+ Coverage 23.66% 24.06% +0.39%
- Complexity 3997 4009 +12
============================================
Files 924 920 -4
Lines 56194 55539 -655
Branches 6654 6543 -111
============================================
+ Hits 13301 13366 +65
+ Misses 41196 40461 -735
- Partials 1697 1712 +15 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@ctsims I've been planning to remove this feature for some time. Any concerns with this removal? |
Product Description
This PR removes the DOTS (Directly Observed Therapy) tracker feature, as it is no longer in use. The feature was originally developed for the UATBC project to track medication intake by program beneficiaries. Since it is obsolete, the associated functionality and related screens have been removed from the application. The main screen that were part of this feature include:
Technical Summary
Retires
DotsEntryActivityand its supporting classes/resources. The activity was launchable only via theorg.commcare.dalvik.action.DotsEntryintent action, declaredexported="false"so only same-app callers couldfire it — and no in-tree caller fires that action. Neither
commcare-androidnor thelibs/commcare-coresubmodule contains any reference to the action string or to the deleted classes outside the DOTS files themselves. Last substantive change to any of these sources was a 2025-09 lint pass; no feature work in years.Safety Assurance
Safety story
git grepfor every removed class name, every removed resource ID, and the intent action stringorg.commcare.dalvik.action.DotsEntryreturns zero matches in bothapp/and thelibs/commcare-coresubmodule.DOTS_DATA); since nothing on master launches it, there are no in-flight payloads to migrate.Labels and Review
and the XForm intent-callout dispatch path.