OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/arc/intent_helper/arc_intent_helper_bridge.h" | 5 #include "components/arc/intent_helper/arc_intent_helper_bridge.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/common/new_window_delegate.h" | 10 #include "ash/common/new_window_delegate.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "url/gurl.h" | 21 #include "url/gurl.h" |
22 | 22 |
23 namespace arc { | 23 namespace arc { |
24 | 24 |
25 namespace { | 25 namespace { |
26 | 26 |
27 constexpr char kArcIntentHelperPackageName[] = "org.chromium.arc.intent_helper"; | 27 constexpr char kArcIntentHelperPackageName[] = "org.chromium.arc.intent_helper"; |
28 | 28 |
29 } // namespace | 29 } // namespace |
30 | 30 |
31 // TODO(muyuanli): This will be removed once SetWallpaperDelegate class is | |
32 // removed. | |
33 SetWallpaperDelegate* SetWallpaperDelegate::instance_ = nullptr; | |
34 | |
35 ArcIntentHelperBridge::ArcIntentHelperBridge( | 31 ArcIntentHelperBridge::ArcIntentHelperBridge( |
36 ArcBridgeService* bridge_service, | 32 ArcBridgeService* bridge_service, |
37 const scoped_refptr<ActivityIconLoader>& icon_loader, | 33 const scoped_refptr<ActivityIconLoader>& icon_loader, |
| 34 std::unique_ptr<SetWallpaperDelegate> set_wallpaper_delegate, |
38 const scoped_refptr<LocalActivityResolver>& activity_resolver) | 35 const scoped_refptr<LocalActivityResolver>& activity_resolver) |
39 : ArcService(bridge_service), | 36 : ArcService(bridge_service), |
40 binding_(this), | 37 binding_(this), |
41 icon_loader_(icon_loader), | 38 icon_loader_(icon_loader), |
| 39 set_wallpaper_delegate_(std::move(set_wallpaper_delegate)), |
42 activity_resolver_(activity_resolver) { | 40 activity_resolver_(activity_resolver) { |
43 DCHECK(thread_checker_.CalledOnValidThread()); | 41 DCHECK(thread_checker_.CalledOnValidThread()); |
44 arc_bridge_service()->intent_helper()->AddObserver(this); | 42 arc_bridge_service()->intent_helper()->AddObserver(this); |
45 } | 43 } |
46 | 44 |
47 ArcIntentHelperBridge::~ArcIntentHelperBridge() { | 45 ArcIntentHelperBridge::~ArcIntentHelperBridge() { |
48 DCHECK(thread_checker_.CalledOnValidThread()); | 46 DCHECK(thread_checker_.CalledOnValidThread()); |
49 arc_bridge_service()->intent_helper()->RemoveObserver(this); | 47 arc_bridge_service()->intent_helper()->RemoveObserver(this); |
50 } | 48 } |
51 | 49 |
(...skipping 30 matching lines...) Expand all Loading... |
82 ash::WmShell::Get()->delegate()->OpenUrlFromArc(gurl); | 80 ash::WmShell::Get()->delegate()->OpenUrlFromArc(gurl); |
83 } | 81 } |
84 | 82 |
85 void ArcIntentHelperBridge::OpenWallpaperPicker() { | 83 void ArcIntentHelperBridge::OpenWallpaperPicker() { |
86 DCHECK(thread_checker_.CalledOnValidThread()); | 84 DCHECK(thread_checker_.CalledOnValidThread()); |
87 ash::WmShell::Get()->wallpaper_delegate()->OpenSetWallpaperPage(); | 85 ash::WmShell::Get()->wallpaper_delegate()->OpenSetWallpaperPage(); |
88 } | 86 } |
89 | 87 |
90 void ArcIntentHelperBridge::SetWallpaper(mojo::Array<uint8_t> jpeg_data) { | 88 void ArcIntentHelperBridge::SetWallpaper(mojo::Array<uint8_t> jpeg_data) { |
91 DCHECK(thread_checker_.CalledOnValidThread()); | 89 DCHECK(thread_checker_.CalledOnValidThread()); |
92 SetWallpaperDelegate* delegate = SetWallpaperDelegate::instance(); | 90 set_wallpaper_delegate_->SetWallpaper(jpeg_data.PassStorage()); |
93 if (delegate == nullptr) { | |
94 LOG(ERROR) << "SetWallpaperDelegate is not available."; | |
95 return; | |
96 } | |
97 delegate->SetWallpaperJpeg(jpeg_data.PassStorage()); | |
98 } | 91 } |
99 | 92 |
100 std::unique_ptr<ash::LinkHandlerModel> ArcIntentHelperBridge::CreateModel( | 93 std::unique_ptr<ash::LinkHandlerModel> ArcIntentHelperBridge::CreateModel( |
101 const GURL& url) { | 94 const GURL& url) { |
102 DCHECK(thread_checker_.CalledOnValidThread()); | 95 DCHECK(thread_checker_.CalledOnValidThread()); |
103 std::unique_ptr<LinkHandlerModelImpl> impl( | 96 std::unique_ptr<LinkHandlerModelImpl> impl( |
104 new LinkHandlerModelImpl(icon_loader_)); | 97 new LinkHandlerModelImpl(icon_loader_)); |
105 if (!impl->Init(url)) | 98 if (!impl->Init(url)) |
106 return nullptr; | 99 return nullptr; |
107 return std::move(impl); | 100 return std::move(impl); |
(...skipping 18 matching lines...) Expand all Loading... |
126 return handlers_filtered; | 119 return handlers_filtered; |
127 } | 120 } |
128 | 121 |
129 void ArcIntentHelperBridge::OnIntentFiltersUpdated( | 122 void ArcIntentHelperBridge::OnIntentFiltersUpdated( |
130 mojo::Array<mojom::IntentFilterPtr> filters) { | 123 mojo::Array<mojom::IntentFilterPtr> filters) { |
131 DCHECK(thread_checker_.CalledOnValidThread()); | 124 DCHECK(thread_checker_.CalledOnValidThread()); |
132 activity_resolver_->UpdateIntentFilters(std::move(filters)); | 125 activity_resolver_->UpdateIntentFilters(std::move(filters)); |
133 } | 126 } |
134 | 127 |
135 } // namespace arc | 128 } // namespace arc |
OLD | NEW |