123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- // Copyright 2013 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "ash/app_list/app_list_test_view_delegate.h"
- #include <string>
- #include <utility>
- #include <vector>
- #include "ash/app_list/model/app_list_model.h"
- #include "ash/public/cpp/app_list/app_list_switches.h"
- #include "base/callback.h"
- #include "base/files/file_path.h"
- #include "base/strings/utf_string_conversions.h"
- #include "ui/gfx/image/image_skia.h"
- namespace ash {
- namespace test {
- AppListTestViewDelegate::AppListTestViewDelegate()
- : model_(std::make_unique<AppListTestModel>()),
- search_model_(std::make_unique<SearchModel>()) {
- model_provider_.SetActiveModel(model_.get(), search_model_.get());
- }
- AppListTestViewDelegate::~AppListTestViewDelegate() = default;
- bool AppListTestViewDelegate::KeyboardTraversalEngaged() {
- return true;
- }
- void AppListTestViewDelegate::StartZeroStateSearch(base::OnceClosure callback,
- base::TimeDelta timeout) {
- std::move(callback).Run();
- }
- void AppListTestViewDelegate::OpenSearchResult(
- const std::string& result_id,
- int event_flags,
- ash::AppListLaunchedFrom launched_from,
- ash::AppListLaunchType launch_type,
- int suggestion_index,
- bool launch_as_default) {
- const SearchModel::SearchResults* results = search_model_->results();
- for (size_t i = 0; i < results->item_count(); ++i) {
- if (results->GetItemAt(i)->id() == result_id) {
- open_search_result_counts_[i]++;
- if (results->GetItemAt(i)->is_omnibox_search()) {
- ++open_assistant_ui_count_;
- }
- break;
- }
- }
- ++open_search_result_count_;
- if (launch_type == ash::AppListLaunchType::kAppSearchResult) {
- switch (launched_from) {
- case ash::AppListLaunchedFrom::kLaunchedFromSearchBox:
- case ash::AppListLaunchedFrom::kLaunchedFromSuggestionChip:
- case ash::AppListLaunchedFrom::kLaunchedFromRecentApps:
- RecordAppLaunched(launched_from);
- return;
- case ash::AppListLaunchedFrom::kLaunchedFromGrid:
- case ash::AppListLaunchedFrom::kLaunchedFromShelf:
- case ash::AppListLaunchedFrom::kLaunchedFromContinueTask:
- return;
- }
- }
- }
- void AppListTestViewDelegate::DismissAppList() {
- ++dismiss_count_;
- }
- void AppListTestViewDelegate::ReplaceTestModel(int item_count) {
- search_model_ = std::make_unique<SearchModel>();
- model_ = std::make_unique<AppListTestModel>();
- model_->PopulateApps(item_count);
- model_provider_.SetActiveModel(model_.get(), search_model_.get());
- }
- void AppListTestViewDelegate::SetSearchEngineIsGoogle(bool is_google) {
- search_model_->SetSearchEngineIsGoogle(is_google);
- }
- void AppListTestViewDelegate::SetIsTabletModeEnabled(bool is_tablet_mode) {
- is_tablet_mode_ = is_tablet_mode;
- }
- void AppListTestViewDelegate::SetShouldShowSuggestedContentInfo(
- bool should_show) {
- should_show_suggested_content_info_ = should_show;
- }
- const std::vector<SkColor>&
- AppListTestViewDelegate::GetWallpaperProminentColors() {
- return wallpaper_prominent_colors_;
- }
- void AppListTestViewDelegate::ActivateItem(
- const std::string& id,
- int event_flags,
- ash::AppListLaunchedFrom launched_from) {
- AppListItem* item = model_->FindItem(id);
- if (!item)
- return;
- DCHECK(!item->is_folder());
- static_cast<AppListTestModel::AppListTestItem*>(item)->Activate(event_flags);
- RecordAppLaunched(launched_from);
- }
- void AppListTestViewDelegate::GetContextMenuModel(
- const std::string& id,
- AppListItemContext item_context,
- GetContextMenuModelCallback callback) {
- AppListItem* item = model_->FindItem(id);
- // TODO(stevenjb/jennyz): Implement this for folder items
- std::unique_ptr<ui::SimpleMenuModel> menu_model;
- if (item && !item->is_folder()) {
- menu_model = static_cast<AppListTestModel::AppListTestItem*>(item)
- ->CreateContextMenuModel();
- }
- std::move(callback).Run(std::move(menu_model));
- }
- ui::ImplicitAnimationObserver* AppListTestViewDelegate::GetAnimationObserver(
- ash::AppListViewState target_state) {
- return nullptr;
- }
- void AppListTestViewDelegate::ShowWallpaperContextMenu(
- const gfx::Point& onscreen_location,
- ui::MenuSourceType source_type) {
- ++show_wallpaper_context_menu_count_;
- }
- bool AppListTestViewDelegate::CanProcessEventsOnApplistViews() {
- return true;
- }
- bool AppListTestViewDelegate::ShouldDismissImmediately() {
- return false;
- }
- int AppListTestViewDelegate::GetTargetYForAppListHide(
- aura::Window* root_window) {
- return 0;
- }
- int AppListTestViewDelegate::AdjustAppListViewScrollOffset(int offset,
- ui::EventType type) {
- return offset;
- }
- bool AppListTestViewDelegate::HasValidProfile() const {
- return true;
- }
- bool AppListTestViewDelegate::ShouldHideContinueSection() const {
- return false;
- }
- void AppListTestViewDelegate::SetHideContinueSection(bool hide) {}
- void AppListTestViewDelegate::GetSearchResultContextMenuModel(
- const std::string& result_id,
- GetContextMenuModelCallback callback) {
- auto menu = std::make_unique<ui::SimpleMenuModel>(this);
- // Change items if needed.
- int command_id = 0;
- menu->AddItem(command_id++, u"Item0");
- menu->AddItem(command_id++, u"Item1");
- std::move(callback).Run(std::move(menu));
- }
- ash::AssistantViewDelegate*
- AppListTestViewDelegate::GetAssistantViewDelegate() {
- return nullptr;
- }
- void AppListTestViewDelegate::OnSearchResultVisibilityChanged(
- const std::string& id,
- bool visibility) {}
- void AppListTestViewDelegate::MaybeIncreaseSuggestedContentInfoShownCount() {}
- bool AppListTestViewDelegate::IsAssistantAllowedAndEnabled() const {
- return false;
- }
- bool AppListTestViewDelegate::ShouldShowSuggestedContentInfo() const {
- return should_show_suggested_content_info_;
- }
- void AppListTestViewDelegate::MarkSuggestedContentInfoDismissed() {
- should_show_suggested_content_info_ = false;
- }
- void AppListTestViewDelegate::OnStateTransitionAnimationCompleted(
- AppListViewState state,
- bool was_animation_interrupted) {}
- AppListState AppListTestViewDelegate::GetCurrentAppListPage() const {
- return app_list_page_;
- }
- void AppListTestViewDelegate::OnAppListPageChanged(AppListState page) {
- app_list_page_ = page;
- }
- AppListViewState AppListTestViewDelegate::GetAppListViewState() const {
- return app_list_view_state_;
- }
- void AppListTestViewDelegate::OnViewStateChanged(AppListViewState state) {
- app_list_view_state_ = state;
- }
- void AppListTestViewDelegate::GetAppLaunchedMetricParams(
- AppLaunchedMetricParams* metric_params) {}
- gfx::Rect AppListTestViewDelegate::SnapBoundsToDisplayEdge(
- const gfx::Rect& bounds) {
- return bounds;
- }
- int AppListTestViewDelegate::GetShelfSize() {
- // TODO(mmourgos): change this to 48 once shelf-hotseat flag is enabled.
- // Return the height of the shelf when clamshell mode is active.
- return 56;
- }
- bool AppListTestViewDelegate::AppListTargetVisibility() const {
- return true;
- }
- bool AppListTestViewDelegate::IsInTabletMode() {
- return is_tablet_mode_;
- }
- AppListNotifier* AppListTestViewDelegate::GetNotifier() {
- return nullptr;
- }
- void AppListTestViewDelegate::RecordAppLaunched(
- ash::AppListLaunchedFrom launched_from) {
- RecordAppListAppLaunched(launched_from, app_list_view_state_,
- false /*tablet mode*/,
- false /*home launcher shown*/);
- }
- bool AppListTestViewDelegate::IsCommandIdChecked(int command_id) const {
- return true;
- }
- bool AppListTestViewDelegate::IsCommandIdEnabled(int command_id) const {
- return true;
- }
- void AppListTestViewDelegate::ExecuteCommand(int command_id, int event_flags) {}
- } // namespace test
- } // namespace ash
|