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/first_run/welcome_to_chrome_view.h" | 5 #import "ios/chrome/browser/ui/first_run/welcome_to_chrome_view.h" |
6 | 6 |
7 #include "base/i18n/rtl.h" | 7 #include "base/i18n/rtl.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/strings/sys_string_conversions.h" | 9 #include "base/strings/sys_string_conversions.h" |
10 #import "ios/chrome/browser/ui/UIView+SizeClassSupport.h" | 10 #import "ios/chrome/browser/ui/UIView+SizeClassSupport.h" |
11 #include "ios/chrome/browser/ui/fancy_ui/primary_action_button.h" | 11 #include "ios/chrome/browser/ui/fancy_ui/primary_action_button.h" |
12 #include "ios/chrome/browser/ui/first_run/first_run_util.h" | 12 #include "ios/chrome/browser/ui/first_run/first_run_util.h" |
13 #include "ios/chrome/browser/ui/ui_util.h" | 13 #include "ios/chrome/browser/ui/ui_util.h" |
14 #import "ios/chrome/browser/ui/uikit_ui_util.h" | 14 #import "ios/chrome/browser/ui/uikit_ui_util.h" |
15 #import "ios/chrome/browser/ui/util/CRUILabel+AttributeUtils.h" | 15 #import "ios/chrome/browser/ui/util/CRUILabel+AttributeUtils.h" |
16 #import "ios/chrome/browser/ui/util/label_link_controller.h" | 16 #import "ios/chrome/browser/ui/util/label_link_controller.h" |
17 #import "ios/chrome/browser/ui/util/label_observer.h" | 17 #import "ios/chrome/browser/ui/util/label_observer.h" |
18 #include "ios/chrome/common/string_util.h" | 18 #include "ios/chrome/common/string_util.h" |
19 #include "ios/chrome/grit/ios_chromium_strings.h" | 19 #include "ios/chrome/grit/ios_chromium_strings.h" |
20 #include "ios/chrome/grit/ios_strings.h" | 20 #include "ios/chrome/grit/ios_strings.h" |
21 #import "ios/third_party/material_roboto_font_loader_ios/src/src/MaterialRobotoF
ontLoader.h" | 21 #import "ios/third_party/material_components_ios/src/components/Typography/src/M
aterialTypography.h" |
22 #include "ui/base/l10n/l10n_util.h" | 22 #include "ui/base/l10n/l10n_util.h" |
23 #include "url/gurl.h" | 23 #include "url/gurl.h" |
24 | 24 |
25 #if !defined(__has_feature) || !__has_feature(objc_arc) | 25 #if !defined(__has_feature) || !__has_feature(objc_arc) |
26 #error "This file requires ARC support." | 26 #error "This file requires ARC support." |
27 #endif | 27 #endif |
28 | 28 |
29 namespace { | 29 namespace { |
30 | 30 |
31 // Accessibility identifier for the checkbox button. | 31 // Accessibility identifier for the checkbox button. |
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 [self configureContainerView]; | 478 [self configureContainerView]; |
479 [self configureTitleLabel]; | 479 [self configureTitleLabel]; |
480 [self configureImageView]; | 480 [self configureImageView]; |
481 [self configureTOSLabel]; | 481 [self configureTOSLabel]; |
482 [self configureOptInLabel]; | 482 [self configureOptInLabel]; |
483 [self configureOKButton]; | 483 [self configureOKButton]; |
484 [self setNeedsLayout]; | 484 [self setNeedsLayout]; |
485 } | 485 } |
486 | 486 |
487 - (void)configureTitleLabel { | 487 - (void)configureTitleLabel { |
488 self.titleLabel.font = [[MDFRobotoFontLoader sharedInstance] | 488 self.titleLabel.font = [[MDCTypography fontLoader] |
489 regularFontOfSize:kTitleLabelFontSize[self.cr_widthSizeClass]]; | 489 regularFontOfSize:kTitleLabelFontSize[self.cr_widthSizeClass]]; |
490 } | 490 } |
491 | 491 |
492 - (void)configureImageView { | 492 - (void)configureImageView { |
493 CGFloat sideLength = self.imageView.image.size.width; | 493 CGFloat sideLength = self.imageView.image.size.width; |
494 if (self.cr_widthSizeClass == COMPACT) { | 494 if (self.cr_widthSizeClass == COMPACT) { |
495 sideLength = self.bounds.size.width * kAppLogoProportionMultiplier; | 495 sideLength = self.bounds.size.width * kAppLogoProportionMultiplier; |
496 } else if (self.cr_heightSizeClass == COMPACT) { | 496 } else if (self.cr_heightSizeClass == COMPACT) { |
497 sideLength = self.bounds.size.height * kAppLogoProportionMultiplier; | 497 sideLength = self.bounds.size.height * kAppLogoProportionMultiplier; |
498 } | 498 } |
499 self.imageView.bounds = AlignRectOriginAndSizeToPixels( | 499 self.imageView.bounds = AlignRectOriginAndSizeToPixels( |
500 CGRectMake(self.imageView.bounds.origin.x, self.imageView.bounds.origin.y, | 500 CGRectMake(self.imageView.bounds.origin.x, self.imageView.bounds.origin.y, |
501 sideLength, sideLength)); | 501 sideLength, sideLength)); |
502 } | 502 } |
503 | 503 |
504 - (void)configureTOSLabel { | 504 - (void)configureTOSLabel { |
505 self.TOSLabel.font = [[MDFRobotoFontLoader sharedInstance] | 505 self.TOSLabel.font = [[MDCTypography fontLoader] |
506 regularFontOfSize:kTOSLabelFontSize[self.cr_widthSizeClass]]; | 506 regularFontOfSize:kTOSLabelFontSize[self.cr_widthSizeClass]]; |
507 self.TOSLabel.cr_lineHeight = kTOSLabelLineHeight[self.cr_widthSizeClass]; | 507 self.TOSLabel.cr_lineHeight = kTOSLabelLineHeight[self.cr_widthSizeClass]; |
508 } | 508 } |
509 | 509 |
510 - (void)configureOptInLabel { | 510 - (void)configureOptInLabel { |
511 self.optInLabel.font = [[MDFRobotoFontLoader sharedInstance] | 511 self.optInLabel.font = [[MDCTypography fontLoader] |
512 regularFontOfSize:kOptInLabelFontSize[self.cr_widthSizeClass]]; | 512 regularFontOfSize:kOptInLabelFontSize[self.cr_widthSizeClass]]; |
513 self.optInLabel.cr_lineHeight = kOptInLabelLineHeight[self.cr_widthSizeClass]; | 513 self.optInLabel.cr_lineHeight = kOptInLabelLineHeight[self.cr_widthSizeClass]; |
514 } | 514 } |
515 | 515 |
516 - (void)configureContainerView { | 516 - (void)configureContainerView { |
517 CGFloat containerViewWidth = | 517 CGFloat containerViewWidth = |
518 self.cr_widthSizeClass == COMPACT | 518 self.cr_widthSizeClass == COMPACT |
519 ? kContainerViewCompactWidthPercentage * CGRectGetWidth(self.bounds) | 519 ? kContainerViewCompactWidthPercentage * CGRectGetWidth(self.bounds) |
520 : kContainerViewRegularWidth; | 520 : kContainerViewRegularWidth; |
521 self.containerView.frame = | 521 self.containerView.frame = |
522 CGRectMake(0.0, 0.0, containerViewWidth, CGFLOAT_MAX); | 522 CGRectMake(0.0, 0.0, containerViewWidth, CGFLOAT_MAX); |
523 } | 523 } |
524 | 524 |
525 - (void)configureOKButton { | 525 - (void)configureOKButton { |
526 self.OKButton.titleLabel.font = [[MDFRobotoFontLoader sharedInstance] | 526 self.OKButton.titleLabel.font = [[MDCTypography fontLoader] |
527 mediumFontOfSize:kOKButtonTitleLabelFontSize[self.cr_widthSizeClass]]; | 527 mediumFontOfSize:kOKButtonTitleLabelFontSize[self.cr_widthSizeClass]]; |
528 CGSize size = [self.OKButton | 528 CGSize size = [self.OKButton |
529 sizeThatFits:CGSizeMake(CGFLOAT_MAX, | 529 sizeThatFits:CGSizeMake(CGFLOAT_MAX, |
530 kOKButtonHeight[self.cr_widthSizeClass])]; | 530 kOKButtonHeight[self.cr_widthSizeClass])]; |
531 [self.OKButton setBounds:CGRectMake(0, 0, size.width, | 531 [self.OKButton setBounds:CGRectMake(0, 0, size.width, |
532 kOKButtonHeight[self.cr_widthSizeClass])]; | 532 kOKButtonHeight[self.cr_widthSizeClass])]; |
533 } | 533 } |
534 | 534 |
535 #pragma mark - | 535 #pragma mark - |
536 | 536 |
537 - (void)checkBoxButtonWasTapped { | 537 - (void)checkBoxButtonWasTapped { |
538 self.checkBoxButton.selected = !self.checkBoxButton.selected; | 538 self.checkBoxButton.selected = !self.checkBoxButton.selected; |
539 self.checkBoxButton.accessibilityValue = | 539 self.checkBoxButton.accessibilityValue = |
540 self.checkBoxButton.selected | 540 self.checkBoxButton.selected |
541 ? l10n_util::GetNSString(IDS_IOS_SETTING_ON) | 541 ? l10n_util::GetNSString(IDS_IOS_SETTING_ON) |
542 : l10n_util::GetNSString(IDS_IOS_SETTING_OFF); | 542 : l10n_util::GetNSString(IDS_IOS_SETTING_OFF); |
543 } | 543 } |
544 | 544 |
545 - (void)OKButtonWasTapped { | 545 - (void)OKButtonWasTapped { |
546 [self.delegate welcomeToChromeViewDidTapOKButton:self]; | 546 [self.delegate welcomeToChromeViewDidTapOKButton:self]; |
547 } | 547 } |
548 | 548 |
549 - (void)TOSLinkWasTapped { | 549 - (void)TOSLinkWasTapped { |
550 [self.delegate welcomeToChromeViewDidTapTOSLink:self]; | 550 [self.delegate welcomeToChromeViewDidTapTOSLink:self]; |
551 } | 551 } |
552 | 552 |
553 @end | 553 @end |
OLD | NEW |