Document toolboxDocument toolbox

CRF Module

Reorganization:

  • The module is currently organized in a way that does not separate the heart rate components from the rest of the app. The folder with heartrate components is within app/src/main/java/org/sagebase.crf/step/active, but if we want to compartmentalize that part and ship it, the repository must be restructured. 
  • This is the process that I used to attempt to restructure this repository:
    • Create a new Java module called "crf". This will hold all of the heartrate files and everything associated with them
    • Refactor/Move all of the contents of the step/active directory inside the app module to a new folder within the crf module called heartrate
    • You will have quite a few issues in terms of dependencies, so update the build.gradle file of the new crf module 
    • Go through the build/Clean/Re-make cycle a couple of times until you understand which files have dependencies on different files
      • If the files that the heartrate files are dependent on are not in the crf module, consider moving them into the crf module
  • As of 11/11/2018, we were unable to restructure it because of the following issues:
    • There is a .rs file that the ImageUtils file depends on, and it never compiled properly- we always got a compileDebugRenderscript error
    • In the original app module, there are a multitude of errors like dependencies on files and functions that are now in the heartrate module
      • In other words, it doesn't split cleanly, and it needs to be refactored in a deeper way rather than just based on files