The home list of every farmer in the user's selected work area, with search, filters and status badges. In Urvi every farmer (or SHG member) record is called an "IE" (Individual Entrepreneur); once synced it gets a server "IE ID".
FactsheetFarmer profile
Who uses it
Cadre userHAN user (read-only downstream)Unit login (Unit In-charge / FMT)
How you get here
Home screen for cadre users (HomeActivity). Tapping a card opens the Farmer hub; the "+" button opens Add Farmer.
Status, endorsement, model, trade interest, NF category and SHG filters.
app/src/main/res/layout/filter_sheet_item.xml
What it captures
Field
Type
Required
Validation
Options from
Search
Text
No
If the text is all digits and starts with 6, 7, 8 or 9 it searches mobile numbers; otherwise it searches full name or NF category. Matches that start with the text are listed before matches that only contain it.
Local farmer table
Farmer status
Single choice
No
All / Active / Inactive.
Fixed list
Endorsement
Multi-select
No
Endorsed, Pending, Flagged, For review.
Fixed list
Model
Multi-select
No
ATM, A Grade, Compact Block.
Fixed list
Interested in trade
Single choice
No
Yes / No.
Fixed list
NF Category
Chips
No
C0, C1 w/o PMDS, S2S w/o PMDS, PMDS, PMDS+C1, PMDS+S2S, PMDSW, S2SW, RDS, RDSW, DGC 365. "NF Category 25-26" is a natural-farming label computed by the server.
Fixed list
SHG
Multi-select dialog
No
Shows SHG name and SHG id.
Distinct SHGs of local farmers
Rules
Conditions from the code, rewritten as plain decision rules.
When
Then
The search text is all digits and starts with 6, 7, 8 or 9
The app searches mobile numbers instead of names.
An SHG or endorsement-status filter is applied
The list is loaded by a direct database query on SHG and status.
The user pulls to refresh
App configs, the tenant product list and VO endorsements are re-fetched.
The screen resumes, the network is up and the configured interval has passed
A background worker downloads the server list of disabled land (dataset DisabledAssetCodeForCadre).
Only part of the data was down-synced
A warning card is shown that opens Data Setup to load more.
The farmer is C4 or C5
The card shows a C4/C5 image.
API contracts
Each call opens to its use case, headers, request and response bodies, and errors.
The bell icon opens notifications; its count is the number of endorsement comments.
Each card shows chips (ATM, A Grade, Compact Block, AAP submitted, NF Category 25-26), the "NF journey" per year, and the last Crop Actual created date and months entered.
Possible bug · unverifiedname search lower-cases the farmer name but not the typed query, so typing capitals finds nothing.
Possible bug · unverifiedmobile search force-unwraps the phone number and crashes when a farmer has no mobile number.
Possible bug · unverifiedthe Model filter allows ticking several models but only the first ticked one (ATM, then A Grade, then Compact Block) is applied.
Improve in the rewrite
Make search case-insensitive on both sides and null-safe.
Apply all ticked Model filters (OR / AND as agreed).
Move list queries off the main thread and page the list.