/** Starts the recents activity */
  void startAlternateRecentsActivity(
      ActivityManager.RunningTaskInfo topTask,
      ActivityOptions opts,
      boolean fromHome,
      boolean fromSearchHome,
      boolean fromThumbnail,
      TaskStackViewLayoutAlgorithm.VisibilityReport vr) {
    // Update the configuration based on the launch options
    mConfig.launchedFromHome = fromSearchHome || fromHome;
    mConfig.launchedFromSearchHome = fromSearchHome;
    mConfig.launchedFromAppWithThumbnail = fromThumbnail;
    mConfig.launchedToTaskId = (topTask != null) ? topTask.id : -1;
    mConfig.launchedWithAltTab = mTriggeredFromAltTab;
    mConfig.launchedReuseTaskStackViews = mCanReuseTaskStackViews;
    mConfig.launchedNumVisibleTasks = vr.numVisibleTasks;
    mConfig.launchedNumVisibleThumbnails = vr.numVisibleThumbnails;
    mConfig.launchedHasConfigurationChanged = false;

    Intent intent = new Intent(sToggleRecentsAction);
    intent.setClassName(sRecentsPackage, sRecentsActivity);
    intent.setFlags(
        Intent.FLAG_ACTIVITY_NEW_TASK
            | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
            | Intent.FLAG_ACTIVITY_TASK_ON_HOME);
    if (opts != null) {
      mContext.startActivityAsUser(intent, opts.toBundle(), UserHandle.CURRENT);
    } else {
      mContext.startActivityAsUser(intent, UserHandle.CURRENT);
    }
    mCanReuseTaskStackViews = true;
  }