OLD | NEW |
---|---|
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #import "ios/chrome/search_widget_extension/search_widget_view_controller.h" | 5 #import "ios/chrome/search_widget_extension/search_widget_view_controller.h" |
6 | 6 |
7 #import <NotificationCenter/NotificationCenter.h> | 7 #import <NotificationCenter/NotificationCenter.h> |
8 | 8 |
9 #include "base/ios/ios_util.h" | 9 #include "base/ios/ios_util.h" |
10 #include "base/mac/foundation_util.h" | 10 #include "base/mac/foundation_util.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
61 delegate:nil]; | 61 delegate:nil]; |
62 } | 62 } |
63 return self; | 63 return self; |
64 } | 64 } |
65 | 65 |
66 #pragma mark - UIViewController | 66 #pragma mark - UIViewController |
67 | 67 |
68 - (void)viewDidLoad { | 68 - (void)viewDidLoad { |
69 [super viewDidLoad]; | 69 [super viewDidLoad]; |
70 | 70 |
71 UIVibrancyEffect* primary; | |
72 UIVibrancyEffect* secondary; | |
73 if (base::ios::IsRunningOnIOS10OrLater()) { | |
74 primary = [UIVibrancyEffect widgetPrimaryVibrancyEffect]; | |
75 secondary = [UIVibrancyEffect widgetSecondaryVibrancyEffect]; | |
76 } else { | |
77 primary = [UIVibrancyEffect notificationCenterVibrancyEffect]; | |
78 secondary = [UIVibrancyEffect notificationCenterVibrancyEffect]; | |
79 } | |
80 | |
71 // A local variable is necessary here as the property is declared weak and the | 81 // A local variable is necessary here as the property is declared weak and the |
72 // object would be deallocated before being retained by the addSubview call. | 82 // object would be deallocated before being retained by the addSubview call. |
73 SearchWidgetView* widgetView = | 83 SearchWidgetView* widgetView = |
74 [[SearchWidgetView alloc] initWithActionTarget:self]; | 84 [[SearchWidgetView alloc] initWithActionTarget:self |
85 primaryVibrancyEffect:primary | |
86 secondaryVibrancyEffect:secondary]; | |
75 self.widgetView = widgetView; | 87 self.widgetView = widgetView; |
76 [self.view addSubview:self.widgetView]; | 88 [self.view addSubview:self.widgetView]; |
77 | 89 |
78 if (base::ios::IsRunningOnIOS10OrLater()) { | 90 if (base::ios::IsRunningOnIOS10OrLater()) { |
79 self.extensionContext.widgetLargestAvailableDisplayMode = | 91 self.extensionContext.widgetLargestAvailableDisplayMode = |
80 NCWidgetDisplayModeExpanded; | 92 NCWidgetDisplayModeExpanded; |
81 } | 93 } |
82 | 94 |
83 self.widgetView.translatesAutoresizingMaskIntoConstraints = NO; | 95 self.widgetView.translatesAutoresizingMaskIntoConstraints = NO; |
84 | 96 |
85 NSLayoutConstraint* heightAnchor = [self.widgetView.heightAnchor | |
86 constraintEqualToAnchor:self.view.heightAnchor]; | |
87 heightAnchor.priority = 900; | |
88 | |
89 [NSLayoutConstraint activateConstraints:@[ | 97 [NSLayoutConstraint activateConstraints:@[ |
stkhapugin
2017/05/04 13:12:09
I think you can replace this code with a helper th
lody
2017/05/05 17:05:44
Done.
| |
90 [self.widgetView.leadingAnchor | 98 [self.widgetView.leadingAnchor |
91 constraintEqualToAnchor:self.view.leadingAnchor], | 99 constraintEqualToAnchor:self.view.leadingAnchor], |
92 [self.widgetView.widthAnchor constraintEqualToAnchor:self.view.widthAnchor], | |
93 [self.widgetView.trailingAnchor | 100 [self.widgetView.trailingAnchor |
94 constraintEqualToAnchor:self.view.trailingAnchor], | 101 constraintEqualToAnchor:self.view.trailingAnchor], |
95 heightAnchor, | 102 [self.widgetView.bottomAnchor |
103 constraintEqualToAnchor:self.view.bottomAnchor], | |
96 [self.widgetView.topAnchor constraintEqualToAnchor:self.view.topAnchor], | 104 [self.widgetView.topAnchor constraintEqualToAnchor:self.view.topAnchor], |
97 ]]; | 105 ]]; |
98 } | 106 } |
99 | 107 |
100 - (void)viewWillAppear:(BOOL)animated { | 108 - (void)viewWillAppear:(BOOL)animated { |
101 [super viewWillAppear:animated]; | 109 [super viewWillAppear:animated]; |
102 [self updateWidget]; | 110 [self updateWidget]; |
103 } | 111 } |
104 | 112 |
105 - (void)widgetPerformUpdateWithCompletionHandler: | 113 - (void)widgetPerformUpdateWithCompletionHandler: |
(...skipping 10 matching lines...) Expand all Loading... | |
116 [self.widgetView updateCopiedURL:self.copiedURL.absoluteString]; | 124 [self.widgetView updateCopiedURL:self.copiedURL.absoluteString]; |
117 return YES; | 125 return YES; |
118 } | 126 } |
119 return NO; | 127 return NO; |
120 } | 128 } |
121 | 129 |
122 #pragma mark - NCWidgetProviding | 130 #pragma mark - NCWidgetProviding |
123 | 131 |
124 - (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode | 132 - (void)widgetActiveDisplayModeDidChange:(NCWidgetDisplayMode)activeDisplayMode |
125 withMaximumSize:(CGSize)maxSize { | 133 withMaximumSize:(CGSize)maxSize { |
134 // Set the copied URL section here so that the fitting size is correctly | |
135 // calculated. | |
136 [self.widgetView | |
137 setCopiedURLVisible:(activeDisplayMode == NCWidgetDisplayModeExpanded)]; | |
126 CGSize fittingSize = [self.widgetView | 138 CGSize fittingSize = [self.widgetView |
stkhapugin
2017/05/04 13:12:09
Please add a newline and a comment for line 138 an
lody
2017/05/05 17:05:44
Done.
| |
127 systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]; | 139 systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]; |
128 if (fittingSize.height > maxSize.height) { | 140 if (fittingSize.height > maxSize.height) { |
129 self.preferredContentSize = maxSize; | 141 self.preferredContentSize = maxSize; |
130 } else { | 142 } else { |
131 self.preferredContentSize = fittingSize; | 143 self.preferredContentSize = fittingSize; |
132 } | 144 } |
133 } | 145 } |
134 | 146 |
135 #pragma mark - WidgetViewActionTarget | 147 #pragma mark - WidgetViewActionTarget |
136 | 148 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
215 }; | 227 }; |
216 } | 228 } |
217 return @{ | 229 return @{ |
218 timePrefKey : [NSDate date], | 230 timePrefKey : [NSDate date], |
219 appPrefKey : @"TodayExtension", | 231 appPrefKey : @"TodayExtension", |
220 commandPrefKey : command, | 232 commandPrefKey : command, |
221 }; | 233 }; |
222 } | 234 } |
223 | 235 |
224 @end | 236 @end |
OLD | NEW |