I wrote next route logic into GraphRoute. The app can call advanceToNextExhibit after creating a GraphRoute object to get the directions to the next exhibit of interest in the form of an ArrayList of strings. The user's position in the route is kept internally, take a look at the internal code to see how it works. I had to ad a textId field to the LocationListItem, so I can retrieve "gorillas" from an item if its text is "Gorillas". Finally, I reformatted the reading of asset Json files to use zoo_data_files.json, which contains the filenames for the graph, vertex info, and edge info json files. This way, when the instructors use new files to test our app, they can just change the filenames in the zoo_data_files.json. To facilitate reading this json into the app, I created a DataFilesReader class. I also updated some of the test files to match the altered LocationListItem and GraphRoute objects.
I wrote next route logic into GraphRoute. The app can call advanceToNextExhibit after creating a GraphRoute object to get the directions to the next exhibit of interest in the form of an ArrayList of strings. The user's position in the route is kept internally, take a look at the internal code to see how it works. I had to ad a textId field to the LocationListItem, so I can retrieve "gorillas" from an item if its text is "Gorillas". Finally, I reformatted the reading of asset Json files to use zoo_data_files.json, which contains the filenames for the graph, vertex info, and edge info json files. This way, when the instructors use new files to test our app, they can just change the filenames in the zoo_data_files.json. To facilitate reading this json into the app, I created a DataFilesReader class. I also updated some of the test files to match the altered LocationListItem and GraphRoute objects.