sc_omnibox_popup_mediator.mm 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #import "ios/showcase/omnibox_popup/sc_omnibox_popup_mediator.h"
  5. #import "ios/chrome/browser/ui/omnibox/popup/autocomplete_result_consumer.h"
  6. #import "ios/chrome/browser/ui/omnibox/popup/autocomplete_suggestion_group_impl.h"
  7. #import "ios/showcase/omnibox_popup/fake_autocomplete_suggestion.h"
  8. #import "url/gurl.h"
  9. #if !defined(__has_feature) || !__has_feature(objc_arc)
  10. #error "This file requires ARC support."
  11. #endif
  12. @interface SCOmniboxPopupMediator ()
  13. @property(nonatomic, readonly, weak) id<AutocompleteResultConsumer> consumer;
  14. @end
  15. @implementation SCOmniboxPopupMediator
  16. - (instancetype)initWithConsumer:(id<AutocompleteResultConsumer>)consumer {
  17. self = [super init];
  18. if (self) {
  19. _consumer = consumer;
  20. }
  21. return self;
  22. }
  23. // Creates many fake suggestions and passes them along to the
  24. // AutocompleteResultConsumer.
  25. - (void)updateMatches {
  26. NSArray<id<AutocompleteSuggestion>>* suggestions = @[
  27. [FakeAutocompleteSuggestion simpleSuggestion],
  28. [FakeAutocompleteSuggestion suggestionWithDetail],
  29. [FakeAutocompleteSuggestion clippingSuggestion],
  30. [FakeAutocompleteSuggestion appendableSuggestion],
  31. [FakeAutocompleteSuggestion otherTabSuggestion],
  32. [FakeAutocompleteSuggestion deletableSuggestion],
  33. [FakeAutocompleteSuggestion stockSuggestion],
  34. [FakeAutocompleteSuggestion weatherSuggestion],
  35. [FakeAutocompleteSuggestion definitionSuggestion],
  36. [FakeAutocompleteSuggestion sunriseSuggestion],
  37. [FakeAutocompleteSuggestion knowledgeSuggestion],
  38. [FakeAutocompleteSuggestion sportsSuggestion],
  39. [FakeAutocompleteSuggestion whenIsSuggestion],
  40. [FakeAutocompleteSuggestion currencySuggestion],
  41. [FakeAutocompleteSuggestion translateSuggestion],
  42. [FakeAutocompleteSuggestion calculatorSuggestion],
  43. [FakeAutocompleteSuggestion richEntitySuggestion],
  44. ];
  45. AutocompleteSuggestionGroupImpl* group =
  46. [AutocompleteSuggestionGroupImpl groupWithTitle:nil
  47. suggestions:suggestions];
  48. [self.consumer updateMatches:@[ group ] preselectedMatchGroupIndex:0];
  49. }
  50. @end