summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
diff options
context:
space:
mode:
authorTony <twickham@google.com>2016-06-26 22:16:46 -0700
committerTony Wickham <twickham@google.com>2016-06-27 11:53:58 -0700
commitacd86ff4865323d3cf411b219b88ed084fb6fce3 (patch)
treef0177e7f04878de8306e33a4f079e88a9351653a /src/com/android/launcher3/shortcuts/DeepShortcutManager.java
parent0d21daace200502c45e0c976dd6a91eea03808e0 (diff)
downloadandroid_packages_apps_Trebuchet-acd86ff4865323d3cf411b219b88ed084fb6fce3.tar.gz
android_packages_apps_Trebuchet-acd86ff4865323d3cf411b219b88ed084fb6fce3.tar.bz2
android_packages_apps_Trebuchet-acd86ff4865323d3cf411b219b88ed084fb6fce3.zip
Surround shortcut API calls with try-catch.
Bug: 29732661 Change-Id: Iba96eedab67e7715f34139c64f96b1a81ba30ea5
Diffstat (limited to 'src/com/android/launcher3/shortcuts/DeepShortcutManager.java')
-rw-r--r--src/com/android/launcher3/shortcuts/DeepShortcutManager.java41
1 files changed, 33 insertions, 8 deletions
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
index 46ca93148..97c384d8a 100644
--- a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
+++ b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
@@ -25,6 +25,7 @@ import android.content.pm.ShortcutInfo;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.util.Log;
import com.android.launcher3.Utilities;
import com.android.launcher3.compat.UserHandleCompat;
@@ -37,6 +38,7 @@ import java.util.List;
* Performs operations related to deep shortcuts, such as querying for them, pinning them, etc.
*/
public class DeepShortcutManager {
+ private static final String TAG = "DeepShortcutManager";
// TODO: Replace this with platform constants when the new sdk is available.
public static final int FLAG_MATCH_DYNAMIC = 1 << 0;
@@ -87,7 +89,11 @@ public class DeepShortcutManager {
UserHandleCompat user = key.user;
List<String> pinnedIds = extractIds(queryForPinnedShortcuts(packageName, user));
pinnedIds.remove(id);
- mLauncherApps.pinShortcuts(packageName, pinnedIds, user.getUser());
+ try {
+ mLauncherApps.pinShortcuts(packageName, pinnedIds, user.getUser());
+ } catch (SecurityException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ }
}
}
@@ -103,7 +109,11 @@ public class DeepShortcutManager {
UserHandleCompat user = key.user;
List<String> pinnedIds = extractIds(queryForPinnedShortcuts(packageName, user));
pinnedIds.add(id);
- mLauncherApps.pinShortcuts(packageName, pinnedIds, user.getUser());
+ try {
+ mLauncherApps.pinShortcuts(packageName, pinnedIds, user.getUser());
+ } catch (SecurityException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ }
}
}
@@ -111,16 +121,26 @@ public class DeepShortcutManager {
public void startShortcut(String packageName, String id, Rect sourceBounds,
Bundle startActivityOptions, UserHandleCompat user) {
if (Utilities.isNycMR1OrAbove()) {
- mLauncherApps.startShortcut(packageName, id, sourceBounds,
- startActivityOptions, user.getUser());
+ try {
+ mLauncherApps.startShortcut(packageName, id, sourceBounds,
+ startActivityOptions, user.getUser());
+ } catch (SecurityException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ }
}
}
@TargetApi(25)
public Drawable getShortcutIconDrawable(ShortcutInfoCompat shortcutInfo, int density) {
- return Utilities.isNycMR1OrAbove()
- ? mLauncherApps.getShortcutIconDrawable(shortcutInfo.getShortcutInfo(), density)
- : null;
+ if (Utilities.isNycMR1OrAbove()) {
+ try {
+ return mLauncherApps.getShortcutIconDrawable(shortcutInfo.getShortcutInfo(),
+ density);
+ } catch (SecurityException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ }
+ }
+ return null;
}
/**
@@ -162,7 +182,12 @@ public class DeepShortcutManager {
q.setActivity(activity);
q.setShortcutIds(shortcutIds);
}
- List<ShortcutInfo> shortcutInfos = mLauncherApps.getShortcuts(q, user.getUser());
+ List<ShortcutInfo> shortcutInfos = null;
+ try {
+ shortcutInfos = mLauncherApps.getShortcuts(q, user.getUser());
+ } catch (SecurityException e) {
+ Log.e(TAG, Log.getStackTraceString(e));
+ }
if (shortcutInfos == null) {
return Collections.EMPTY_LIST;
}