Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75d8994e authored by Brandon Dayauon's avatar Brandon Dayauon
Browse files

Add nullable annotation

It looks like from the stack trace that there is an NPE during the setApps() call. So adding nullable and null checking
to make sure mApps is not null.

bug: 296920692
test: presubmit
flag: n/a
Change-Id: If402c0b68db159f7a698e8e2e139d9bd5041b1c1
parent dddd60e8
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -15,8 +15,11 @@
 */
package com.android.launcher3.taskbar.allapps;

import static com.android.launcher3.model.data.AppInfo.EMPTY_ARRAY;

import android.view.View;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

@@ -33,7 +36,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;

/**
 * Handles the all apps overlay window initialization, updates, and its data.
 * <p>
@@ -54,9 +56,9 @@ public final class TaskbarAllAppsController {
    private @Nullable TaskbarSearchSessionController mSearchSessionController;

    // Application data models.
    private AppInfo[] mApps;
    private @NonNull AppInfo[] mApps = EMPTY_ARRAY;
    private int mAppsModelFlags;
    private List<ItemInfo> mPredictedApps;
    private @NonNull List<ItemInfo> mPredictedApps = Collections.emptyList();
    private @Nullable List<ItemInfo> mZeroStateSearchSuggestions;
    private boolean mDisallowGlobalDrag;
    private boolean mDisallowLongClick;
@@ -82,8 +84,8 @@ public final class TaskbarAllAppsController {
    }

    /** Updates the current {@link AppInfo} instances. */
    public void setApps(AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map) {
        mApps = apps;
    public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map) {
        mApps = apps == null ? EMPTY_ARRAY : apps;
        mAppsModelFlags = flags;
        mPackageUserKeytoUidMap = map;
        if (mAppsView != null) {
+3 −3
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public class AllAppsStore<T extends Context & ActivityContext> {
    private PackageUserKey mTempKey = new PackageUserKey(null, null);
    private AppInfo mTempInfo = new AppInfo();

    private AppInfo[] mApps = EMPTY_ARRAY;
    private @NonNull AppInfo[] mApps = EMPTY_ARRAY;

    private final List<OnUpdateListener> mUpdateListeners = new CopyOnWriteArrayList<>();
    private final ArrayList<ViewGroup> mIconContainers = new ArrayList<>();
@@ -85,8 +85,8 @@ 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.
     */
    public void setApps(AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map)  {
        mApps = apps;
    public void setApps(@Nullable AppInfo[] apps, int flags, Map<PackageUserKey, Integer> map)  {
        mApps = apps == null ? EMPTY_ARRAY : apps;
        mModelFlags = flags;
        notifyUpdate();
        mPackageUserKeytoUidMap = map;