This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
programming:android_rearchitecture_2016 [2016/08/05 18:27] 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 ====== | ||
- | ** NB: Develop 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 49: | 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 | ||
- | * 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 | * UI ( 10 / 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 ) -> 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) |
+ | * 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 |