| 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 |