Sort Apps During setApps
We found this potential edge case during the creation of AllAppsSearchImageTest. Search in all apps uses a binary search which requires the list of mApps to be sorted, which before the function setApps did not do. This could lead to other edge cases of bugs either in test or production. Bug: b/318867282 Flag: None Test: AllAppsSearchImageTest Change-Id: Iccd57fa8a51c725e8c161cbdf96f77fdc86d42b7
This commit is contained in:
@@ -93,11 +93,14 @@ public class AllAppsStore<T extends Context & ActivityContext> {
|
||||
* Sets the current set of apps and sets mapping for {@link PackageUserKey} to Uid for
|
||||
* the current set of apps.
|
||||
*
|
||||
* <p> Note that shouldPreinflate param should be set to {@code false} for taskbar, because this
|
||||
* method is too late to preinflate all apps, as user will open all apps in the same frame.
|
||||
* <p> Note that shouldPreinflate param should be set to {@code false} for taskbar, because
|
||||
* this method is too late to preinflate all apps, as user will open all apps in the frame
|
||||
*
|
||||
* <p>Param: apps are required to be sorted using the comparator COMPONENT_KEY_COMPARATOR
|
||||
* in order to enable binary search on the mApps store
|
||||
*/
|
||||
public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map,
|
||||
boolean shouldPreinflate) {
|
||||
boolean shouldPreinflate) {
|
||||
mApps = apps == null ? EMPTY_ARRAY : apps;
|
||||
mModelFlags = flags;
|
||||
notifyUpdate();
|
||||
|
||||
Reference in New Issue
Block a user