Summary
We're removing the in-app address book / contacts picker from the trip planner (it added a contacts permission + picker UI for a rarely-used path). Instead, OBA should be a receiver for place/route intents from other apps, so a user can start directions to an address straight from their address book / maps / share sheet.
Motivation
- Drops the
READ_CONTACTS-adjacent picker flow and its maintenance from the trip-plan form.
- Uses the platform's own sharing model: the address book app already knows how to "share" or "open with" a location.
Proposed work
- Add an intent filter so OBA can handle:
geo: URIs (ACTION_VIEW, scheme="geo") — the standard "open this location" intent many apps (including Contacts → address) emit.
ACTION_SEND / ACTION_VIEW with a maps URL or plain address text (best-effort geocode).
- Route the incoming location into the home directions focus as the To (or From) endpoint, opening the trip planner ready to plan.
- Decide From default (current location) when only a destination is supplied.
Context
Replaces the in-app contacts picker removed alongside the trip-planner → home-map "directions focus" work. The endpoint model already has a TripEndpoint type set (current-location / map-point / geocoded) that an incoming intent can populate.
Summary
We're removing the in-app address book / contacts picker from the trip planner (it added a contacts permission + picker UI for a rarely-used path). Instead, OBA should be a receiver for place/route intents from other apps, so a user can start directions to an address straight from their address book / maps / share sheet.
Motivation
READ_CONTACTS-adjacent picker flow and its maintenance from the trip-plan form.Proposed work
geo:URIs (ACTION_VIEW,scheme="geo") — the standard "open this location" intent many apps (including Contacts → address) emit.ACTION_SEND/ACTION_VIEWwith a maps URL or plain address text (best-effort geocode).Context
Replaces the in-app contacts picker removed alongside the trip-planner → home-map "directions focus" work. The endpoint model already has a
TripEndpointtype set (current-location / map-point / geocoded) that an incoming intent can populate.