Use reflection to call LauncherApps.startShortcut().

This is necessary because it now returns void instead of boolean, but
we don't yet have the latest SDK with this change to compile against.

Change-Id: Ie4ca718bbe828fd9addfaf003a74b35d32410891
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
index 0d5102f..8bceda7 100644
--- a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
+++ b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
@@ -25,6 +25,7 @@
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.util.Log;
 
 import com.android.launcher3.ItemInfo;
@@ -32,6 +33,7 @@
 import com.android.launcher3.Utilities;
 import com.android.launcher3.compat.UserHandleCompat;
 
+import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -129,10 +131,16 @@
           Bundle startActivityOptions, UserHandleCompat user) {
         if (Utilities.isNycMR1OrAbove()) {
             try {
-                mLauncherApps.startShortcut(packageName, id, sourceBounds,
-                        startActivityOptions, user.getUser());
+                // TODO: remove reflection once updated SDK is ready.
+                // mLauncherApps.startShortcut(packageName, id, sourceBounds,
+                //        startActivityOptions, user.getUser());
+                mLauncherApps.getClass().getMethod("startShortcut", String.class, String.class,
+                        Rect.class, Bundle.class, UserHandle.class).invoke(mLauncherApps,
+                        packageName, id, sourceBounds, startActivityOptions, user.getUser());
             } catch (SecurityException e) {
                 Log.e(TAG, Log.getStackTraceString(e));
+            } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
+                e.printStackTrace();
             }
         }
     }