User Tools

Site Tools


programming:android_rearchitecture_2016

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
programming:android_rearchitecture_2016 [2016/08/05 18:23]
mjallison
programming:android_rearchitecture_2016 [2017/05/05 18:31] (current)
mjallison
Line 1: Line 1:
 ====== Areas of concern for rearchitecture discussions ====== ====== Areas of concern for rearchitecture discussions ======
  
-** NBDevelop axiomatic programming guidelines **+[[android:object_guidelines|Android Object Design Guidelines]] 
 + 
 +[[android:​code_formatting|Android Source Format Guidelines]] 
  
 ** Prio is (mja/bc) ** ** Prio is (mja/bc) **
  
-  * Alignment classes ​(8+  * [[android:​layer generalization|Layer Generalization]] ​-> 1.5 
-    * Make easier ​for use in applications ​ +    * **Done 2016** 
-    * QWhy does an application need it's own alignment classes? +    * Old model had few instances based on LayerEnum (compile time tags) 
-    * Q: Why is "defaultAlignment"​ called what it is? Isn't it just a "singlePoint"​ alignmentvsa dual alignment+    * Newer model (SmartPlan/​TrackManager) needs layers distinguished by runtime tags (names?) 
-    * Currently there are alignment methods ​in Project ​classes, ​activity classesand projection vs. alignment: reduce +    * Can create new layer and drawables ​for things that require project inspection by renderer. (e.g. user location). 
-  * Project ​classes ​( 1 / 6 )+  * [[android:​code_modernization|Code modernization]] ( 3 / 2 ) -> 2.5 
 +    * Remove deprecated dialog interaction ​in SmartsuiteActivity,​ etal. 
 +    * Implement new (API 23) [[android:lpermission model|permission model]] 
 +    * Rewrite activities to avoid needing ​"noOrientation" ​activity flagmuse savedState 
 +    * Relace some activies with Fragments, e.g. SG Alignment, recovery, task chooser  
 +    * 64 bit versions of the .so files (need NDK modernization?
 +  * [[android:​code_modernization|NDK]] <​del>​( 11 / 11 ) -> 11</​del>​ 2.5 (by lumping in with Code Modernization) 
 +    * 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. 
 +  * Warnings: <​del>​( 9 / 4 ) -> 6.5</​del>​ 2.6  
 +    * Handler (replace with Runnables) 
 +    * Processing ​classes 
 +    * Reformatting of source 
 +    * Diamond operator  
 +    * Examine every single ToDo: Fixameliorateremove 
 +  * [[android:​project_class_refactoring|Project ​class refactoring]] ​( 1 / 6 ) -> 3.5
      * App vs. AGTEK_Lib; e.g. SD vs. All, SG/SB vs. rest; not needed code      * 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. carry too much un-needed functionality on some apps (e.g. highway aligns in SmartPlan, etc)
        * e.g. too much inheritence from unwanted apps.        * 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. ​      * 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 )+  ​* Testing ( 5 / 3 ) -> 4 
 +      * Improve unit test coverage / unit test instances 
 +      * Implement UI tests 
 +  * 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 
 +  ​* Final isolation of graphics from Project/​Layer objects ( 8 / 5 ) -> 6.5
     * (no reading the project)     * (no reading the project)
     * Shaders     * Shaders
     * No more coupling to Project class     * No more coupling to Project class
     * Repackage to non smartsuite     * Repackage to non smartsuite
-  * Layer generalization ​+  * Multi thread impl to speed things up. -> 7 
-    * Old model had few instances based on LayerEnum (compile time tags) +    * e.g.draping, isopach
-    * Newer model (SmartPlan/​TrackManager) needs layers distinguished by runtime tags (names?) +    * e.g. Measure volume computation parallelization 
-  * CachedProjectManager ( 12 / 12 ) +    * Action Item: identify other areas to be parallelized
-    * Better mirror of project structure (sub folders) +  * ADF evolution ( 6 / 9 ) -> 7.5
-    * background syncrhonization with server +
-    * Allow prefetch of file contents (e.g. referenced imagesAKA 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 visibility entry
     * Define layer color     * Define layer color
Line 41: Line 59:
     * Allow layers with LLA lines, not just NEZ.     * Allow layers with LLA lines, not just NEZ.
     * View type structure for ADF, explicit vs. app implicit     * View type structure for ADF, explicit vs. app implicit
-  ​* Multi thread impl to speed things up. ( 7 / 7 ) +  * UI ( 10 / 10 ) -> 10
-    * e.g.draping,​ isopach? +
-    * e.g. Measure volume computation parallelization +
-    * Action Item: identify other areas to be parallelized. +
-  * Warnings: ( 9 / 4 ) +
-    * Handler +
-    * Processing classes +
-    * Diamond operator  +
-    * Examine every single ToDo: Fix, ameliorate, remove +
-  ​* UI ( 10 / 10 )+
     * Common bits like MeasureArea entry. ​     * Common bits like MeasureArea entry. ​
     * Better tree-view (current one has too much exposed functionality).     * Better tree-view (current one has too much exposed functionality).
     * ActionItem: Identify other common UI bits.     * ActionItem: Identify other common UI bits.
-  * NDK 11 11 +  * CachedProjectManager ​12 12 -> 12 
-    * Use more modern NDK / Approved Gradle build scheme. +    * Better mirror of project structure (sub folders) 
-    * Strip un-needed .so files from some apps, such as Trimble from everything except for Grade/Blade +    * background syncrhonization with server 
-    * See 64 bit native implementation note in Code Modernization. +    * Allow prefetch of file contents (e.g. referenced images? AKA pre-cache)
-  * Testing ( 5 / 3 ) +
-      * Improve unit test coverage / unit test instances +
-      * Implement UI tests+
  
 +   * File Hell
 +      * We are starting to create a classic CAD file hell: Lots and lots and lots of files and you can't recreate what you have sompleace else because there are too many local files or hidden files and you need a special export/​import routine to collect them all in one place or put them back in the right places.
 +         * KMZ vs ADF
 +         * Photos
 +         * Notes
 +         * Tracks
 +         * Measure
programming/android_rearchitecture_2016.1470421420.txt.gz · Last modified: 2016/08/05 18:23 by mjallison