This is an old revision of the document!
Areas of concern for rearchitecture discussions
 NB: Develop axiomatic programming guidelines 
 Prio is (mja/bc) 
-  Layer generalization ( 2 / 1 ) → 1.5 
-  Code modernization ( 3 / 2 ) → 2.5 - 
-  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?) 
 
-  Project classes ( 1 / 6 ) → 3.5 - 
-  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.  
 
-  Testing ( 5 / 3 ) → 4 
-  Alignment classes (4 / 8) → 6 - 
-  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 
 
-  Warnings: ( 9 / 4 ) → 6.5 
-  Final isolation of graphics from Project/Layer objects ( 8 / 5 ) → 6.5 
-  Multi thread impl to speed things up. ( 7 / 7 ) → 7 
-  ADF evolution ( 6 / 9 ) → 7.5 - 
-  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 
 
-  CachedProjectManager ( 12 / 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) 
 
-  UI ( 10 / 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 ) → 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.