Merge "Fix updateIconBadges() in All Apps" into ub-launcher3-dorval

This commit is contained in:
TreeHugger Robot
2017-04-26 15:46:21 +00:00
committed by Android (Google) Code Review

View File

@@ -37,6 +37,7 @@ import android.view.ViewGroup;
import com.android.launcher3.AppInfo;
import com.android.launcher3.BaseContainerView;
import com.android.launcher3.BubbleTextView;
import com.android.launcher3.DeleteDropTarget;
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.DragSource;
@@ -485,11 +486,15 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
public void updateIconBadges(Set<PackageUserKey> updatedBadges) {
final PackageUserKey packageUserKey = new PackageUserKey(null, null);
for (AlphabeticalAppsList.AdapterItem app : mApps.getAdapterItems()) {
if (app.appInfo != null && packageUserKey.updateFromItemInfo(app.appInfo)) {
if (updatedBadges.contains(packageUserKey)) {
mAdapter.notifyItemChanged(app.position);
}
final int n = mAppsRecyclerView.getChildCount();
for (int i = 0; i < n; i++) {
View child = mAppsRecyclerView.getChildAt(i);
if (!(child instanceof BubbleTextView) || !(child.getTag() instanceof ItemInfo)) {
continue;
}
ItemInfo info = (ItemInfo) child.getTag();
if (packageUserKey.updateFromItemInfo(info) && updatedBadges.contains(packageUserKey)) {
((BubbleTextView) child).applyBadgeState(info, true /* animate */);
}
}
}