This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tracking:simpletrack_nextgen-2018-09-15 [2018/09/18 23:15] mjallison |
tracking:simpletrack_nextgen-2018-09-15 [2018/09/19 17:30] (current) mjallison [Table] |
||
---|---|---|---|
Line 3: | Line 3: | ||
Capture ideas of a rework/refactor of SimpleTrack. The goals of a refactoring are to eliminate known errors and deficiencies of the current version of SimpleTrack (V 1.2.X). | Capture ideas of a rework/refactor of SimpleTrack. The goals of a refactoring are to eliminate known errors and deficiencies of the current version of SimpleTrack (V 1.2.X). | ||
+ | **Goals:** | ||
+ | * Simply code base over 1.2 | ||
+ | * Reduce Android OS events preventing sending of positions | ||
+ | * Work with latest OS for power and schedule reasons | ||
+ | |||
+ | **Design Axioms:** | ||
+ | * Minimize computation | ||
+ | * Minimize network connections, work with scheduler, consolidate to single server connection | ||
+ | * All pending work stored in SQLite, points to upload will be in file. | ||
+ | * Vehicles/Projects in SQLite (to support drop downs) | ||
+ | * User credentials in SQLite | ||
+ | * User preferences in shared preferences | ||
+ | * All data in app private storage (uninstall removes everything) | ||
+ | * Use Firebase cloud storage to simplify configuration, all same google log in? | ||
+ | * UI ONLY sets values in DB/Shared Prefs, all business logic in service. | ||
+ | * Target Android 5 (Lollipo 22) as minimum usable SDK. | ||
+ | |||
+ | **Items to do:** | ||
* All core functionality enclosed in an Android Service | * All core functionality enclosed in an Android Service | ||
* Collection of locations and upload of same | * Collection of locations and upload of same | ||
* Collection of gpsstat and upload of same | * Collection of gpsstat and upload of same | ||
* Download vehicle save as local config | * Download vehicle save as local config | ||
- | * Download of application controls configuration | + | * Download of application controls configuration |
+ | * Service with work with proper OS scheduling of uploads and other work | ||
* Refactor to remove | * Refactor to remove | ||
* Cycle-line and associated statistics calculations | * Cycle-line and associated statistics calculations | ||
* Simplify configuration controls to only drive application - no project support | * Simplify configuration controls to only drive application - no project support | ||
* Remove AGTEK_Lib from build of ST | * Remove AGTEK_Lib from build of ST | ||
+ | * Complete migration from Crashlytics to Firebase | ||
+ | **Rough Task List for Rough Estimate:** | ||
+ | ^ Task ^ Days ^ | ||
+ | | Write skeleton service | 1 | | ||
+ | | Move location listener to service | 1 | | ||
+ | | Service to update gpstat | 1 | | ||
+ | | Service to download vehicles and projects | 1 | | ||
+ | | Service to download config | 2 | | ||
+ | | Remove cycle line calcs | 1 | | ||
+ | | Design new SQLite DB | 2 | | ||
+ | | Integrate job scheduler | 5 | | ||
+ | | Port from crashlytics to Firebase | 3 | | ||
+ | | Modify UI to alter shared prefs | 2 | | ||
+ | | **Total** | 20 | |