Create backend code to query all installed activities, checking for visibility, and returning a list / object / whatever of activities to display in the activity chooser.
Note There should already be code existing for the current activity picker. Investigate that code. It's likely that we won't need to initially touch it and just update the frontend. Current code for retrieving activities is in course/renderer.php - course_section_add_cm_control()
Note 2 course/lib.php get_module_metadata() does a component callback for 'get_shortcuts' which is what adds more activities to the activity chooser.
24/11/19 It has been decided today to retool this MDL to test out the performance of webservice call to fetch the course modules and move away using the json_encode method.