flutter_siri_suggestions icon indicating copy to clipboard operation
flutter_siri_suggestions copied to clipboard

Only one activity gets initialised

Open B-e-r-k-e-r opened this issue 2 years ago • 3 comments

Hi, I'm trying to have 4 activities in the shortcuts but only one gets initialised, the last one staircase activity. This is the init method which I initialise in initState:

class SiriSuggestionsService {
  Future<void> initSuggestions() async {
    FlutterSiriSuggestions.instance.configure(
        onLaunch: (Map<String, dynamic> message) async {
      debugPrint('[FlutterSiriSuggestions] [onLaunch] $message');
      //Awaken from Siri Suggestion

      debugPrint(
          "[FlutterSiriSuggestions] Called by ${message['key']} suggestion.");

      switch (message["key"]) {
        case "houseDoorActivity":
          debugPrint("House door activity");
          break;
        case "receptionDoorActivity":
          debugPrint("Reception door activity");
          break;
        case "garageDoorActivity":
          debugPrint("Garage door activity");
          break;
        case "staircaseDoorActivity":
          debugPrint("Staircase door activity");
          break;
        default:
          break;
      }
    });

    await FlutterSiriSuggestions.instance
        .registerActivity(const FlutterSiriActivity(
      "Open house door",
      "houseDoorActivity",
      isEligibleForSearch: true,
      isEligibleForPrediction: true,
      contentDescription: "Opens the house door",
      suggestedInvocationPhrase: "open house door",
    ));

    await FlutterSiriSuggestions.instance
        .registerActivity(const FlutterSiriActivity(
      "Open reception door",
      "receptionDoorActivity",
      isEligibleForSearch: true,
      isEligibleForPrediction: true,
      contentDescription: "Opens the reception door",
      suggestedInvocationPhrase: "open reception door",
    ));

    await FlutterSiriSuggestions.instance
        .registerActivity(const FlutterSiriActivity(
      "Open garage door",
      "garageDoorActivity",
      isEligibleForSearch: true,
      isEligibleForPrediction: true,
      contentDescription: "Opens the garage door",
      suggestedInvocationPhrase: "open garage door",
    ));

    await FlutterSiriSuggestions.instance
        .registerActivity(const FlutterSiriActivity(
      "Open staircase door",
      "staircaseDoorActivity",
      isEligibleForSearch: true,
      isEligibleForPrediction: true,
      contentDescription: "Opens the staircase door",
      suggestedInvocationPhrase: "open staircase door",
    ));
  }
}

And this is how i initialise it:

@override
  void initState() {
    super.initState();
    initSiriSuggestions();
    }

  Future<void> initSiriSuggestions() async {
    await getIt<SiriSuggestionsService>().initSuggestions();
  }

I appreciate if someone could help. Thanks in advance.

B-e-r-k-e-r avatar Apr 12 '22 16:04 B-e-r-k-e-r