Make the call log use a data-driven (MVC) approach to UI updates instead of the ad-hoc spaghetti we currently have

RESOLVED WONTFIX

Status

Firefox OS
Gaia::Dialer
RESOLVED WONTFIX
3 years ago
2 years ago

People

(Reporter: gsvelto, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

3 years ago
+++ This bug was initially created as a clone of Bug #1135044 +++

The call log code currently uses a number of ad-hoc code paths to populate the UI, update the underlying database and reflect the changes to the call log itself or to the call log entry's contacts.

These paths form a huge bunch of spaghetti that is hard to understand and hard to keep in sync. Changes to one of those paths might not be reflected in the other paths and thus create an inconsistency when the UI needs to be updated. Bug 1135044 was a good example of these kind of issues.

To fix this stuff we should clearly establish what's stored in the call log database and use it as the data model to populate the UI. All changes (new calls, deleted calls, update to the contacts, etc...) should flow through the database first. Once the change has been applied there an event should be dispatched from the database to reflect the change (possibly implemented via shared/js/event_dispatcher.js). The UI will then need to listen on these changes and update itself accordingly. This should ensure that the view of the call log is always consistent with the underlying data and will probably also make the code easier to follow.
(Reporter)

Updated

2 years ago
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.