private static ActivityManager.RecentTaskInfo getLastTask(Context context, int userId)
      throws RemoteException {
    final String defaultHomePackage = resolveCurrentLauncherPackage(context, userId);
    final IActivityManager am = ActivityManagerNative.getDefault();
    final List<ActivityManager.RecentTaskInfo> tasks =
        am.getRecentTasks(5, ActivityManager.RECENT_IGNORE_UNAVAILABLE, userId);

    for (int i = 1; i < tasks.size(); i++) {
      ActivityManager.RecentTaskInfo task = tasks.get(i);
      if (task.origActivity != null) {
        task.baseIntent.setComponent(task.origActivity);
      }
      String packageName = task.baseIntent.getComponent().getPackageName();
      if (!packageName.equals(defaultHomePackage) && !packageName.equals(SYSTEMUI_PACKAGE)) {
        return tasks.get(i);
      }
    }

    return null;
  }