diff options
author | Pinyao Ting <pinyaoting@google.com> | 2019-08-16 13:28:24 -0700 |
---|---|---|
committer | Pinyao Ting <pinyaoting@google.com> | 2019-08-16 14:25:31 -0700 |
commit | 2f9019e56c39e5679b5666fde469e52d094f9181 (patch) | |
tree | 3ad53ded428c54748a719f7ebd195a01e92d183a /src | |
parent | b00a1e2a0a7ee91a5b08d60dabbf1b445fce76a1 (diff) | |
download | android_packages_apps_Trebuchet-2f9019e56c39e5679b5666fde469e52d094f9181.tar.gz android_packages_apps_Trebuchet-2f9019e56c39e5679b5666fde469e52d094f9181.tar.bz2 android_packages_apps_Trebuchet-2f9019e56c39e5679b5666fde469e52d094f9181.zip |
add null check when accessing target component from iteminfo
Bug: 139540363
Change-Id: I25d0100077de67b085c27b5ef91e22c6ac1ad959
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/ItemInfo.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/popup/SystemShortcut.java | 1 | ||||
-rw-r--r-- | src/com/android/launcher3/util/PackageUserKey.java | 6 |
3 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/launcher3/ItemInfo.java b/src/com/android/launcher3/ItemInfo.java index 134e11606..3f723d17f 100644 --- a/src/com/android/launcher3/ItemInfo.java +++ b/src/com/android/launcher3/ItemInfo.java @@ -22,6 +22,8 @@ import android.content.Intent; import android.os.Process; import android.os.UserHandle; +import androidx.annotation.Nullable; + import com.android.launcher3.util.ContentWriter; /** @@ -134,6 +136,7 @@ public class ItemInfo { return null; } + @Nullable public ComponentName getTargetComponent() { Intent intent = getIntent(); if (intent != null) { diff --git a/src/com/android/launcher3/popup/SystemShortcut.java b/src/com/android/launcher3/popup/SystemShortcut.java index 1f78a85fb..a87b7b897 100644 --- a/src/com/android/launcher3/popup/SystemShortcut.java +++ b/src/com/android/launcher3/popup/SystemShortcut.java @@ -135,6 +135,7 @@ public abstract class SystemShortcut<T extends BaseDraggingActivity> @Override public View.OnClickListener getOnClickListener(final Launcher launcher, final ItemInfo itemInfo) { + if (itemInfo.getTargetComponent() == null) return null; final List<WidgetItem> widgets = launcher.getPopupDataProvider().getWidgetsForPackageUser(new PackageUserKey( itemInfo.getTargetComponent().getPackageName(), itemInfo.user)); diff --git a/src/com/android/launcher3/util/PackageUserKey.java b/src/com/android/launcher3/util/PackageUserKey.java index e62451758..041c708e0 100644 --- a/src/com/android/launcher3/util/PackageUserKey.java +++ b/src/com/android/launcher3/util/PackageUserKey.java @@ -3,8 +3,9 @@ package com.android.launcher3.util; import android.os.UserHandle; import android.service.notification.StatusBarNotification; +import androidx.annotation.Nullable; + import com.android.launcher3.ItemInfo; -import com.android.launcher3.shortcuts.DeepShortcutManager; import java.util.Arrays; @@ -15,7 +16,9 @@ public class PackageUserKey { public UserHandle mUser; private int mHashCode; + @Nullable public static PackageUserKey fromItemInfo(ItemInfo info) { + if (info.getTargetComponent() == null) return null; return new PackageUserKey(info.getTargetComponent().getPackageName(), info.user); } @@ -38,6 +41,7 @@ public class PackageUserKey { * @return Whether this PackageUserKey was successfully updated - it shouldn't be used if not. */ public boolean updateFromItemInfo(ItemInfo info) { + if (info.getTargetComponent() == null) return false; if (ShortcutUtil.supportsShortcuts(info)) { update(info.getTargetComponent().getPackageName(), info.user); return true; |