Merge \"Use reflection to call LauncherApps.startShortcut().\" into ub-launcher3-calgary
am: c9e71b8876
Change-Id: I57f1d7eadd32239891edc2dd15ba4acde2882220
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();
}
}
}