Confirmed users
401
edits
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
== High level goals == | == High level goals == | ||
* Modularization | * Modularization | ||
** Concentrated module responsibility | |||
* One system app for multiple devices | * One system app for multiple devices | ||
** Swappable functionality | |||
** One business logic, different UI logic | |||
* Maintenance | * Maintenance | ||
** Code readability | |||
* | ** Test coverage | ||
* | * Performance | ||
* Reduce startup time | ** Reduce startup time | ||
=== Multiple device support === | |||
* Hardware feature detector - done in Core | |||
* In the long term, we will have all what we need in the code base | |||
** Package device specific modules in build time | |||
** Load/start modules correspondingly in run time | |||
=== Swappable functionality === | === Swappable functionality === | ||
| Line 20: | Line 28: | ||
} | } | ||
}; | }; | ||
=== Concentrated Module Responsibility === | |||
* A module is always used to accomplish a specific task | |||
* If an module has too many tasks to do - stop and think about it | |||
** What's the core task of this module? | |||
** Could we use a shared logic between modules? | |||
** Could we have a submodule to help on certain tasks? | |||
=== Special Topics === | === Special Topics === | ||
* Statusbar | * AppWindowManager dismantling | ||
* Statusbar dismantling | |||
* Shared transition controller | * Shared transition controller | ||
* Notification refactor | * Notification refactor | ||
* LockScreen | * LockScreen | ||
=== AppWindowManager dismantling === | |||
* AppWindowManager is still heavy now. | |||
* Current direction is to look into TV's AWM requirements and see how we could split it. | |||
* Idea: shared WindowManager interface + shared app switch interface. | |||
** We have many WindowManager right now, maybe we should have a baseWindowManager | |||
** Window switch feature is complex and it is phone(Single window device) specific. | |||
=== Statusbar dismantling === | |||
* Icon operation is already dismantled in bug 1098168 | |||
* Todo: Instantiation, take UtilityTray as submodule | |||
==== Notification Refactor ==== | ==== Notification Refactor ==== | ||
| Line 32: | Line 59: | ||
* The behavior of the NotificationUI is dependent from the NotificationManager | * The behavior of the NotificationUI is dependent from the NotificationManager | ||
* NotificationUI is device specific - it may change due to UX design | * NotificationUI is device specific - it may change due to UX design | ||
==== LockScreen ==== | |||
'''Tracking Bug''': | |||