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:44]
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) **
  
-  * Layer generalization ( 2 / 1 ) -> 1.5+  * [[android:​layer ​generalization|Layer Generalization]] ​( 2 / 1 ) -> 1.5 
 +    * **Done 2016**
     * Old model had few instances based on LayerEnum (compile time tags)     * Old model had few instances based on LayerEnum (compile time tags)
     * Newer model (SmartPlan/​TrackManager) needs layers distinguished by runtime tags (names?)     * Newer model (SmartPlan/​TrackManager) needs layers distinguished by runtime tags (names?)
-  ​* Code modernization ( 3 / 2 ) -> 2.5+    ​Can create new layer and drawables for things that require project inspection by renderer. (e.g. user location). 
 +  * [[android:​code_modernization|Code modernization]] ( 3 / 2 ) -> 2.5
     * Remove deprecated dialog interaction in SmartsuiteActivity,​ etal.     * Remove deprecated dialog interaction in SmartsuiteActivity,​ etal.
-    * Implement new (API 23) permission model+    * Implement new (API 23) [[android:​lpermission model|permission model]]
     * Rewrite activities to avoid needing "​noOrientation"​ activity flagm, use savedState     * Rewrite activities to avoid needing "​noOrientation"​ activity flagm, use savedState
     * Relace some activies with Fragments, e.g. SG Alignment, recovery, task chooser ​     * Relace some activies with Fragments, e.g. SG Alignment, recovery, task chooser ​
     * 64 bit versions of the .so files (need NDK modernization?​)     * 64 bit versions of the .so files (need NDK modernization?​)
-  * Project ​classes ( 1 / 6 ) -> 3.5+  * [[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: Fix, ameliorate, remove 
 +  * [[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)
Line 27: Line 42:
     * Q: Why is "​defaultAlignment"​ called what it is? Isn't it just a "​singlePoint"​ alignment, vs. a dual alignment?     * 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     * Currently there are alignment methods in Project classes, activity classes, and projection vs. alignment: reduce
-  * Warnings: ( 9 / 4 ) -> 6.5 
-    * Handler 
-    * Processing classes 
-    * Diamond operator ​ 
-    * Examine every single ToDo: Fix, ameliorate, remove 
   * Final isolation of graphics from Project/​Layer objects ( 8 / 5 ) -> 6.5   * Final isolation of graphics from Project/​Layer objects ( 8 / 5 ) -> 6.5
     * (no reading the project)     * (no reading the project)
Line 53: Line 63:
     * 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 ) -> 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. 
   * CachedProjectManager ( 12 / 12 ) -> 12   * CachedProjectManager ( 12 / 12 ) -> 12
     * Better mirror of project structure (sub folders)     * Better mirror of project structure (sub folders)
Line 62: Line 68:
     * Allow prefetch of file contents (e.g. referenced images? AKA pre-cache)     * Allow prefetch of file contents (e.g. referenced images? AKA pre-cache)
  
 +   * 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.1470422665.txt.gz · Last modified: 2016/08/05 18:44 by mjallison