OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/browser/ui/settings/privacy_collection_view_controller.h" | 5 #import "ios/chrome/browser/ui/settings/privacy_collection_view_controller.h" |
6 | 6 |
7 #include "base/ios/ios_util.h" | 7 #include "base/ios/ios_util.h" |
8 #import "base/ios/weak_nsobject.h" | 8 #import "base/ios/weak_nsobject.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #import "base/mac/foundation_util.h" | 10 #import "base/mac/foundation_util.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" | 21 #include "ios/chrome/browser/browser_state/chrome_browser_state.h" |
22 #include "ios/chrome/browser/chrome_url_constants.h" | 22 #include "ios/chrome/browser/chrome_url_constants.h" |
23 #include "ios/chrome/browser/experimental_flags.h" | 23 #include "ios/chrome/browser/experimental_flags.h" |
24 #include "ios/chrome/browser/physical_web/physical_web_constants.h" | 24 #include "ios/chrome/browser/physical_web/physical_web_constants.h" |
25 #include "ios/chrome/browser/pref_names.h" | 25 #include "ios/chrome/browser/pref_names.h" |
26 #import "ios/chrome/browser/prefs/pref_observer_bridge.h" | 26 #import "ios/chrome/browser/prefs/pref_observer_bridge.h" |
27 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrom
e.h" | 27 #import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrom
e.h" |
28 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item
.h" | 28 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_detail_item
.h" |
29 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item
.h" | 29 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_footer_item
.h" |
30 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item
.h" | 30 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_switch_item
.h" |
| 31 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_cell.h
" |
31 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h
" | 32 #import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h
" |
32 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" | 33 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" |
33 #import "ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_med
iator.h" | 34 #import "ios/chrome/browser/ui/contextual_search/touch_to_search_permissions_med
iator.h" |
34 #import "ios/chrome/browser/ui/settings/accounts_collection_view_controller.h" | 35 #import "ios/chrome/browser/ui/settings/accounts_collection_view_controller.h" |
35 #import "ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_cont
roller.h" | 36 #import "ios/chrome/browser/ui/settings/clear_browsing_data_collection_view_cont
roller.h" |
36 #import "ios/chrome/browser/ui/settings/contextual_search_collection_view_contro
ller.h" | 37 #import "ios/chrome/browser/ui/settings/contextual_search_collection_view_contro
ller.h" |
37 #import "ios/chrome/browser/ui/settings/dataplan_usage_collection_view_controlle
r.h" | 38 #import "ios/chrome/browser/ui/settings/dataplan_usage_collection_view_controlle
r.h" |
38 #import "ios/chrome/browser/ui/settings/do_not_track_collection_view_controller.
h" | 39 #import "ios/chrome/browser/ui/settings/do_not_track_collection_view_controller.
h" |
39 #import "ios/chrome/browser/ui/settings/handoff_collection_view_controller.h" | 40 #import "ios/chrome/browser/ui/settings/handoff_collection_view_controller.h" |
40 #import "ios/chrome/browser/ui/settings/physical_web_collection_view_controller.
h" | 41 #import "ios/chrome/browser/ui/settings/physical_web_collection_view_controller.
h" |
41 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h" | 42 #import "ios/chrome/browser/ui/settings/settings_navigation_controller.h" |
42 #import "ios/chrome/browser/ui/settings/settings_utils.h" | 43 #import "ios/chrome/browser/ui/settings/settings_utils.h" |
43 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h" | 44 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h" |
44 #include "ios/chrome/browser/ui/ui_util.h" | 45 #include "ios/chrome/browser/ui/ui_util.h" |
45 #include "ios/chrome/grit/ios_chromium_strings.h" | 46 #include "ios/chrome/grit/ios_chromium_strings.h" |
46 #include "ios/chrome/grit/ios_strings.h" | 47 #include "ios/chrome/grit/ios_strings.h" |
47 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat
erialPalettes.h" | 48 #import "ios/third_party/material_components_ios/src/components/Palettes/src/Mat
erialPalettes.h" |
| 49 #import "ios/third_party/material_components_ios/src/components/Typography/src/M
aterialTypography.h" |
48 #include "ios/web/public/web_capabilities.h" | 50 #include "ios/web/public/web_capabilities.h" |
49 #include "ui/base/l10n/l10n_util.h" | 51 #include "ui/base/l10n/l10n_util.h" |
50 #include "ui/base/l10n/l10n_util_mac.h" | 52 #include "ui/base/l10n/l10n_util_mac.h" |
51 #include "url/gurl.h" | 53 #include "url/gurl.h" |
52 | 54 |
53 NSString* const kPrivacyCollectionViewId = @"kPrivacyCollectionViewId"; | 55 NSString* const kPrivacyCollectionViewId = @"kPrivacyCollectionViewId"; |
54 | 56 |
55 namespace { | 57 namespace { |
56 | 58 |
57 typedef NS_ENUM(NSInteger, SectionIdentifier) { | 59 typedef NS_ENUM(NSInteger, SectionIdentifier) { |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 [super loadModel]; | 160 [super loadModel]; |
159 | 161 |
160 CollectionViewModel* model = self.collectionViewModel; | 162 CollectionViewModel* model = self.collectionViewModel; |
161 | 163 |
162 // Other Devices Section | 164 // Other Devices Section |
163 [model addSectionWithIdentifier:SectionIdentifierOtherDevices]; | 165 [model addSectionWithIdentifier:SectionIdentifierOtherDevices]; |
164 CollectionViewTextItem* otherDevicesHeader = [[[CollectionViewTextItem alloc] | 166 CollectionViewTextItem* otherDevicesHeader = [[[CollectionViewTextItem alloc] |
165 initWithType:ItemTypeOtherDevicesHeader] autorelease]; | 167 initWithType:ItemTypeOtherDevicesHeader] autorelease]; |
166 otherDevicesHeader.text = | 168 otherDevicesHeader.text = |
167 l10n_util::GetNSString(IDS_IOS_OPTIONS_CONTINUITY_LABEL); | 169 l10n_util::GetNSString(IDS_IOS_OPTIONS_CONTINUITY_LABEL); |
168 otherDevicesHeader.textColor = [[MDCPalette greyPalette] tint500]; | |
169 [model setHeader:otherDevicesHeader | 170 [model setHeader:otherDevicesHeader |
170 forSectionWithIdentifier:SectionIdentifierOtherDevices]; | 171 forSectionWithIdentifier:SectionIdentifierOtherDevices]; |
171 [model addItem:[self handoffDetailItem] | 172 [model addItem:[self handoffDetailItem] |
172 toSectionWithIdentifier:SectionIdentifierOtherDevices]; | 173 toSectionWithIdentifier:SectionIdentifierOtherDevices]; |
173 | 174 |
174 // Web Services Section | 175 // Web Services Section |
175 [model addSectionWithIdentifier:SectionIdentifierWebServices]; | 176 [model addSectionWithIdentifier:SectionIdentifierWebServices]; |
176 CollectionViewTextItem* webServicesHeader = [[[CollectionViewTextItem alloc] | 177 CollectionViewTextItem* webServicesHeader = [[[CollectionViewTextItem alloc] |
177 initWithType:ItemTypeWebServicesHeader] autorelease]; | 178 initWithType:ItemTypeWebServicesHeader] autorelease]; |
178 webServicesHeader.text = | 179 webServicesHeader.text = |
179 l10n_util::GetNSString(IDS_IOS_OPTIONS_WEB_SERVICES_LABEL); | 180 l10n_util::GetNSString(IDS_IOS_OPTIONS_WEB_SERVICES_LABEL); |
180 webServicesHeader.textColor = [[MDCPalette greyPalette] tint500]; | |
181 [model setHeader:webServicesHeader | 181 [model setHeader:webServicesHeader |
182 forSectionWithIdentifier:SectionIdentifierWebServices]; | 182 forSectionWithIdentifier:SectionIdentifierWebServices]; |
183 _showSuggestionsItem.reset([[self showSuggestionsSwitchItem] retain]); | 183 _showSuggestionsItem.reset([[self showSuggestionsSwitchItem] retain]); |
184 [model addItem:_showSuggestionsItem | 184 [model addItem:_showSuggestionsItem |
185 toSectionWithIdentifier:SectionIdentifierWebServices]; | 185 toSectionWithIdentifier:SectionIdentifierWebServices]; |
186 | 186 |
187 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) { | 187 if ([TouchToSearchPermissionsMediator isTouchToSearchAvailableOnDevice]) { |
188 [model addItem:[self contextualSearchDetailItem] | 188 [model addItem:[self contextualSearchDetailItem] |
189 toSectionWithIdentifier:SectionIdentifierWebServices]; | 189 toSectionWithIdentifier:SectionIdentifierWebServices]; |
190 } | 190 } |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 | 328 |
329 NSInteger itemType = | 329 NSInteger itemType = |
330 [self.collectionViewModel itemTypeForIndexPath:indexPath]; | 330 [self.collectionViewModel itemTypeForIndexPath:indexPath]; |
331 | 331 |
332 if (itemType == ItemTypeWebServicesShowSuggestions) { | 332 if (itemType == ItemTypeWebServicesShowSuggestions) { |
333 CollectionViewSwitchCell* switchCell = | 333 CollectionViewSwitchCell* switchCell = |
334 base::mac::ObjCCastStrict<CollectionViewSwitchCell>(cell); | 334 base::mac::ObjCCastStrict<CollectionViewSwitchCell>(cell); |
335 [switchCell.switchView addTarget:self | 335 [switchCell.switchView addTarget:self |
336 action:@selector(showSuggestionsToggled:) | 336 action:@selector(showSuggestionsToggled:) |
337 forControlEvents:UIControlEventValueChanged]; | 337 forControlEvents:UIControlEventValueChanged]; |
| 338 } else if (itemType == ItemTypeOtherDevicesHeader || |
| 339 itemType == ItemTypeWebServicesHeader) { |
| 340 CollectionViewTextCell* textCell = |
| 341 base::mac::ObjCCastStrict<CollectionViewTextCell>(cell); |
| 342 textCell.textLabel.textColor = [[MDCPalette greyPalette] tint500]; |
338 } | 343 } |
339 | 344 |
340 return cell; | 345 return cell; |
341 } | 346 } |
342 | 347 |
343 #pragma mark UICollectionViewDelegate | 348 #pragma mark UICollectionViewDelegate |
344 - (void)collectionView:(UICollectionView*)collectionView | 349 - (void)collectionView:(UICollectionView*)collectionView |
345 didSelectItemAtIndexPath:(NSIndexPath*)indexPath { | 350 didSelectItemAtIndexPath:(NSIndexPath*)indexPath { |
346 [super collectionView:collectionView didSelectItemAtIndexPath:indexPath]; | 351 [super collectionView:collectionView didSelectItemAtIndexPath:indexPath]; |
347 NSInteger itemType = | 352 NSInteger itemType = |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 | 499 |
495 _sendUsageDetailItem.get().detailText = detailText; | 500 _sendUsageDetailItem.get().detailText = detailText; |
496 | 501 |
497 [self reconfigureCellsForItems:@[ _sendUsageDetailItem ] | 502 [self reconfigureCellsForItems:@[ _sendUsageDetailItem ] |
498 inSectionWithIdentifier:SectionIdentifierWebServices]; | 503 inSectionWithIdentifier:SectionIdentifierWebServices]; |
499 return; | 504 return; |
500 } | 505 } |
501 } | 506 } |
502 | 507 |
503 @end | 508 @end |
OLD | NEW |