This is an old revision of the document!
Areas of concern for rearchitecture discussions
NB: Develop axiomatic programming guidelines
Prio is (mja/bc)
Alignment classes (4 / 8)
Make easier for use in applications
Q: Why does an application need it's own alignment classes?
Q: Why is “defaultAlignment” called what it is? Isn't it just a “singlePoint” alignment, vs. a dual alignment?
Currently there are alignment methods in Project classes, activity classes, and projection vs. alignment: reduce
Project classes ( 1 / 6 )
App vs. AGTEK_Lib; e.g. SD vs. All, SG/SB vs. rest; not needed code
e.g. carry too much un-needed functionality on some apps (e.g. highway aligns in SmartPlan, etc)
e.g. too much inheritence from unwanted apps.
Too many times in which m_project must be cast to the specific class when in main activity to use app specific methods.
Final isolation of graphics from Project/Layer objects ( 8 / 5 )
Layer generalization ( 2 / 1 )
CachedProjectManager ( 12 / 12 )
Better mirror of project structure (sub folders)
background syncrhonization with server
Allow prefetch of file contents (e.g. referenced images? AKA pre-cache)
Code modernization ( 3 / 2 )
Remove deprecated dialog interaction in SmartsuiteActivity, etal.
Implement new (
API 23) permission model
Rewrite activities to avoid needing “noOrientation” activity flagm, use savedState
Relace some activies with Fragments, e.g. SG Alignment, recovery, task chooser
64 bit versions of the .so files (need NDK modernization?)
ADF evolution ( 6 / 9 )
Define layer visibility entry
Define layer color
Allow layer properties
Saved measure area
Draw area on layers
Allow layers with LLA lines, not just NEZ.
View type structure for ADF, explicit vs. app implicit
Multi thread impl to speed things up. ( 7 / 7 )
Warnings: ( 9 / 4 )
UI ( 10 / 10 )
Common bits like MeasureArea entry.
Better tree-view (current one has too much exposed functionality).
ActionItem: Identify other common UI bits.
NDK ( 11 / 11 )
Use more modern NDK / Approved Gradle build scheme.
Strip un-needed .so files from some apps, such as Trimble from everything except for Grade/Blade
See 64 bit native implementation note in Code Modernization.
Testing ( 5 / 3 )