-
-
Notifications
You must be signed in to change notification settings - Fork 73
Development
Kyle Corry edited this page Jul 14, 2023
·
3 revisions
Steps to make an item groupable
- Create interface for the item, implementing IGroupable
- Create a group class for the item, implementing the same interface as the item
- Add the parentId to the item's DB entity
- Add a DB entity for the groupable class and set up the Dao for it and Dao accessors for the item (get/delete in group)
- Add accessor methods to the item's repo for group operations - in addition to normal operations, getGroupsWithParent and getItemsWithParent methods are needed
- In the feature's service, set up a GroupLoader, GroupCounter, and GroupDeleter
- Create a class which inherits from ISearchableGroupLoader
- Add list mappers for the item interface, and group (may need to set up GroupMappers for displayed fields)
- Update the item's list to use the interface mappers
- Use the searchable group loader class to populate the UI (use GroupListManager, and setup it's onChange, refresh, and up calls)
- Add group/item pickers
- Add support for creating a group
- Add support for moving items between groups
- Add support for deleting a group
- Add support for renaming a group
- Extract new categorized cloud images to app/src/androidTest/assets/clouds. Use the lowercase name of each CloudGenus enum as the folder name and place all images of that cloud in the folder. Not supported yet, but use "clear" as the folder name for images without clouds.
- Uncomment @Test and run CloudTrainingDataGenerator.generateTrainingData() on an emulator
- Run scripts/update-cloud-data.bat
- Uncomment @Test and run CloudTrainer.train()
- Update the cloud weights in SoftmaxCloudClassifier with src/data/output/weights.txt