mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-05 18:36:49 +00:00
Refresh mNumAppsPerRowAllApps when device profile changes.
The return value of SrollableLayoutManager#getItemsHeight is wrong, which is caused by the return value of `incrementTotalHeight` (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/util/ScrollableLayoutManager.java;l=151-163). In AllAppsGridAdapter#incrementTotalHeight (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/allapps/AllAppsGridAdapter.java;l=172), `item.rowAppIndex` is still the staled value after app grid change / device fold & unfold. This value is calculated in AlphabeticalAppsList (https://source.corp.google.com/h/googleplex-android/platform/superproject/main/+/main:packages/apps/Launcher3/src/com/android/launcher3/allapps/AlphabeticalAppsList.java;l=276-280). The mod `mNumAppsPerRowAllApps` is staled. So add an setter in `AlphabeticalAppsList` to update `mNumAppsPerRowAllApps`. Bug: 262003765 Bug: 284940820 Test: manual Flag: N/A Change-Id: I74a99a3dc58ee45f066bcefb3e9c56be02b62f82
This commit is contained in:
@@ -82,7 +82,7 @@ public class AlphabeticalAppsList<T extends Context & ActivityContext> implement
|
||||
private final ArrayList<AdapterItem> mSearchResults = new ArrayList<>();
|
||||
private BaseAllAppsAdapter<T> mAdapter;
|
||||
private AppInfoComparator mAppNameComparator;
|
||||
private final int mNumAppsPerRowAllApps;
|
||||
private int mNumAppsPerRowAllApps;
|
||||
private int mNumAppRowsInAdapter;
|
||||
private Predicate<ItemInfo> mItemFilter;
|
||||
|
||||
@@ -92,12 +92,17 @@ public class AlphabeticalAppsList<T extends Context & ActivityContext> implement
|
||||
mActivityContext = ActivityContext.lookupContext(context);
|
||||
mAppNameComparator = new AppInfoComparator(context);
|
||||
mWorkProviderManager = workProfileManager;
|
||||
mNumAppsPerRowAllApps = mActivityContext.getDeviceProfile().inv.numAllAppsColumns;
|
||||
mNumAppsPerRowAllApps = mActivityContext.getDeviceProfile().numShownAllAppsColumns;
|
||||
if (mAllAppsStore != null) {
|
||||
mAllAppsStore.addUpdateListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
/** Set the number of apps per row when device profile changes. */
|
||||
public void setNumAppsPerRowAllApps(int numAppsPerRow) {
|
||||
mNumAppsPerRowAllApps = numAppsPerRow;
|
||||
}
|
||||
|
||||
public void updateItemFilter(Predicate<ItemInfo> itemFilter) {
|
||||
this.mItemFilter = itemFilter;
|
||||
onAppsUpdated();
|
||||
|
||||
Reference in New Issue
Block a user