Refactor SearchableInfo.
- Removes the mSearchable field which was only for communication between the constructor and getActivityMetaData(). - Removes the badge and query rewriting fields, since their values can be efficiently computed on the fly. - Makes all the other public fields private and adds getters for them. - Makes all fields final, except mActionKeys. - Removes the DBG_INHIBIT_SUGGESTIONS_CONSTANT. I don't see why we would every want that, and it complicated making the fields final. - Makes all fields in ActionKeyInfo final. - Makes all fields in ActionKeyInfo private and adds getters. - Removes the use of ActioKeyInfo.mKeyCode for failure signalling. Uses IllegalArgumentException instead. - Replaces the ad hoc linked list for looking up action keys by a HashMap. This is needed to make the fields in ActionkeyInfo final, and also avoids O(N) lookup in the (unlikely) case that an activity has lots of action keys. - Don't throw exceptions when reading searchable meta-data, since that could crash SearchManagerService. - Adds debug logging.
Loading
Please register or sign in to comment