Transition selection to use Model IDs.
This CL transitions the MultiSelectManager to (mostly) use Model IDs. - Add the ability to retrieve all model IDs for the current directory, from the model. - Add a map in the DocumentsAdapter that maps from adapter position to model ID. - Make the adapter listen for model updates, and update its internal map of positions to model IDs appropriately. - Use the aforementioned map when binding ViewHolders. - Get unit tests to compile; get as many tests passing as possible at this point. Tests related to deleting things won't work right now. Still to do: - Add code to the adapter to sort and group items. After this is done, SortingCursorWrapper will no longer be needed. - Add code to the adapter to deal with item addition/removal. After this is done, the pending-deletion code in the model can be removed. - Rationalize position-based vs model-based selection. Some code in the MSM (in particular, code dealing with range selection) is still position-based. It's becoming clear that it doesn't make sense for range selection to be ID-based, since "range" is a concept that only makes sense in the context of items that are positioned in the UI. Will need to iterate more on the position-based code to make sure it makes sense. BUG=26024369 Change-Id: I767cde2d888c101aaf83b59155b14634a236164b
Loading
Please register or sign in to comment