diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-10-14 16:42:54 -0700 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2015-09-27 14:11:02 -0700 |
commit | 6cc089e1bb87f63ecf9b543d0d9173d3ced5bc33 (patch) | |
tree | 10909793a3f3b14c7e84a98c5c870c1efe515829 /src/com/android | |
parent | 89f3bb81aa18b79986621e052a8380afca246924 (diff) | |
download | android_packages_apps_Trebuchet-6cc089e1bb87f63ecf9b543d0d9173d3ced5bc33.tar.gz android_packages_apps_Trebuchet-6cc089e1bb87f63ecf9b543d0d9173d3ced5bc33.tar.bz2 android_packages_apps_Trebuchet-6cc089e1bb87f63ecf9b543d0d9173d3ced5bc33.zip |
Adding NPE check in InstallShortcutReceiver
> Removing some unused methods
Bug: 17971165
Change-Id: I1bc5c764fd65b44c950a58371b60d2b53c221995
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/launcher3/InstallShortcutReceiver.java | 28 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 21 |
3 files changed, 17 insertions, 34 deletions
diff --git a/src/com/android/launcher3/InstallShortcutReceiver.java b/src/com/android/launcher3/InstallShortcutReceiver.java index 2edde4fae..e9fb499ad 100644 --- a/src/com/android/launcher3/InstallShortcutReceiver.java +++ b/src/com/android/launcher3/InstallShortcutReceiver.java @@ -17,7 +17,6 @@ package com.android.launcher3; import android.content.BroadcastReceiver; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -45,17 +44,17 @@ public class InstallShortcutReceiver extends BroadcastReceiver { private static final String TAG = "InstallShortcutReceiver"; private static final boolean DBG = false; - public static final String ACTION_INSTALL_SHORTCUT = + private static final String ACTION_INSTALL_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT"; - public static final String DATA_INTENT_KEY = "intent.data"; - public static final String LAUNCH_INTENT_KEY = "intent.launch"; - public static final String NAME_KEY = "name"; - public static final String ICON_KEY = "icon"; - public static final String ICON_RESOURCE_NAME_KEY = "iconResource"; - public static final String ICON_RESOURCE_PACKAGE_NAME_KEY = "iconResourcePackage"; + private static final String DATA_INTENT_KEY = "intent.data"; + private static final String LAUNCH_INTENT_KEY = "intent.launch"; + private static final String NAME_KEY = "name"; + private static final String ICON_KEY = "icon"; + private static final String ICON_RESOURCE_NAME_KEY = "iconResource"; + private static final String ICON_RESOURCE_PACKAGE_NAME_KEY = "iconResourcePackage"; // The set of shortcuts that are pending install - public static final String APPS_PENDING_INSTALL = "apps_to_install"; + private static final String APPS_PENDING_INSTALL = "apps_to_install"; public static final int NEW_SHORTCUT_BOUNCE_DURATION = 450; public static final int NEW_SHORTCUT_STAGGER_DELAY = 85; @@ -63,17 +62,13 @@ public class InstallShortcutReceiver extends BroadcastReceiver { private static final int INSTALL_SHORTCUT_SUCCESSFUL = 0; private static final int INSTALL_SHORTCUT_IS_DUPLICATE = -1; - // A mime-type representing shortcut data - public static final String SHORTCUT_MIMETYPE = - "com.android.launcher3/shortcut"; - private static Object sLock = new Object(); private static void addToStringSet(SharedPreferences sharedPrefs, SharedPreferences.Editor editor, String key, String value) { Set<String> strings = sharedPrefs.getStringSet(key, null); if (strings == null) { - strings = new HashSet<String>(0); + strings = new HashSet<String>(1); } else { strings = new HashSet<String>(strings); } @@ -133,6 +128,9 @@ public class InstallShortcutReceiver extends BroadcastReceiver { Intent launchIntent = Intent.parseUri(object.getString(LAUNCH_INTENT_KEY), 0); String pn = launchIntent.getPackage(); if (pn == null) { + if (launchIntent.getComponent() == null) { + continue; + } pn = launchIntent.getComponent().getPackageName(); } if (packageNames.contains(pn)) { @@ -355,7 +353,7 @@ public class InstallShortcutReceiver extends BroadcastReceiver { Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); } LauncherAppState app = LauncherAppState.getInstance(); - ShortcutInfo info = app.getModel().infoFromShortcutIntent(context, data, null); + ShortcutInfo info = app.getModel().infoFromShortcutIntent(context, data); info.title = ensureValidName(context, launchIntent, info.title); return info; } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 84e29b565..5b015ae29 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1788,7 +1788,7 @@ public class Launcher extends Activity boolean foundCellSpan = false; - ShortcutInfo info = mModel.infoFromShortcutIntent(this, data, null); + ShortcutInfo info = mModel.infoFromShortcutIntent(this, data); if (info == null) { return; } diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 81a6ff428..224c535a4 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -3869,17 +3869,6 @@ public class LauncherModel extends BroadcastReceiver } } - ShortcutInfo addShortcut(Context context, Intent data, long container, int screen, - int cellX, int cellY, boolean notify) { - final ShortcutInfo info = infoFromShortcutIntent(context, data, null); - if (info == null) { - return null; - } - addItemToDatabase(context, info, container, screen, cellX, cellY, notify); - - return info; - } - /** * Attempts to find an AppWidgetProviderInfo that matches the given component. */ @@ -3895,7 +3884,7 @@ public class LauncherModel extends BroadcastReceiver return null; } - ShortcutInfo infoFromShortcutIntent(Context context, Intent data, Bitmap fallbackIcon) { + ShortcutInfo infoFromShortcutIntent(Context context, Intent data) { Intent intent = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT); String name = data.getStringExtra(Intent.EXTRA_SHORTCUT_NAME); Parcelable bitmap = data.getParcelableExtra(Intent.EXTRA_SHORTCUT_ICON); @@ -3937,12 +3926,8 @@ public class LauncherModel extends BroadcastReceiver // users wouldn't get here without intent forwarding anyway. info.user = UserHandleCompat.myUserHandle(); if (icon == null) { - if (fallbackIcon != null) { - icon = fallbackIcon; - } else { - icon = mIconCache.getDefaultIcon(info.user); - info.usingFallbackIcon = true; - } + icon = mIconCache.getDefaultIcon(info.user); + info.usingFallbackIcon = true; } info.setIcon(icon); |