Commit ab04d6a8 authored by Eugene But's avatar Eugene But Committed by Commit Bot

Add horizontal grey line to split download and install drive controlls.

This also changes layout constraints, to make sure that grey line is
streatched across all download toolbar.

UI Mocks: https://docs.google.com/presentation/d/1GzbAoJrpW9IAQF78afh5SZLWJWErNcC67t_ctujjEus/edit#slide=id.g2f6fee2339_3_0

Bug: 791806
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I32f79dba26efe618ac9ac20012c94a01466a06b6
Reviewed-on: https://chromium-review.googlesource.com/947702Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Eugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540839}
parent 85b8a012
...@@ -68,6 +68,9 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -68,6 +68,9 @@ NSString* GetSizeString(long long size_in_bytes) {
@property(nonatomic, readonly) UIView* downloadControlsRow; @property(nonatomic, readonly) UIView* downloadControlsRow;
@property(nonatomic, readonly) UIView* installDriveControlsRow; @property(nonatomic, readonly) UIView* installDriveControlsRow;
// Grey line which separates downloadControlsRow and installDriveControlsRow.
@property(nonatomic, readonly) UIView* horizontalLine;
// Represents constraint for self.view.bottomAnchor, which can either be // Represents constraint for self.view.bottomAnchor, which can either be
// constrained to installDriveControlsRow's bottomAnchor or to // constrained to installDriveControlsRow's bottomAnchor or to
// downloadControlsRow's bottomAnchor. Stored in a property to allow // downloadControlsRow's bottomAnchor. Stored in a property to allow
...@@ -83,6 +86,7 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -83,6 +86,7 @@ NSString* GetSizeString(long long size_in_bytes) {
@synthesize background = _background; @synthesize background = _background;
@synthesize downloadControlsRow = _downloadControlsRow; @synthesize downloadControlsRow = _downloadControlsRow;
@synthesize installDriveControlsRow = _installDriveControlsRow; @synthesize installDriveControlsRow = _installDriveControlsRow;
@synthesize horizontalLine = _horizontalLine;
@synthesize bottomConstraint = _bottomConstraint; @synthesize bottomConstraint = _bottomConstraint;
#pragma mark - UIViewController overrides #pragma mark - UIViewController overrides
...@@ -99,6 +103,7 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -99,6 +103,7 @@ NSString* GetSizeString(long long size_in_bytes) {
[self.downloadControlsRow addSubview:self.statusLabel]; [self.downloadControlsRow addSubview:self.statusLabel];
[self.downloadControlsRow addSubview:self.actionButton]; [self.downloadControlsRow addSubview:self.actionButton];
[self.installDriveControlsRow addSubview:self.installDriveButton]; [self.installDriveControlsRow addSubview:self.installDriveButton];
[self.installDriveControlsRow addSubview:self.horizontalLine];
AddNamedGuide(kActionButtonGuide, self.view); AddNamedGuide(kActionButtonGuide, self.view);
ConstrainNamedGuideToView(kActionButtonGuide, self.actionButton); ConstrainNamedGuideToView(kActionButtonGuide, self.actionButton);
...@@ -130,42 +135,37 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -130,42 +135,37 @@ NSString* GetSizeString(long long size_in_bytes) {
// download controls row constraints. // download controls row constraints.
UIView* downloadRow = self.downloadControlsRow; UIView* downloadRow = self.downloadControlsRow;
UIButton* actionButton = self.actionButton; UIButton* closeButton = self.closeButton;
// Account for bottom white pixel on shadow image. // Account for bottom white pixel on shadow image.
CGFloat shadowHeight = CGRectGetHeight(shadow.frame) - 1; CGFloat shadowHeight = CGRectGetHeight(shadow.frame) - 1;
[NSLayoutConstraint activateConstraints:@[ [NSLayoutConstraint activateConstraints:@[
[downloadRow.leadingAnchor [downloadRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor],
constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor], [downloadRow.trailingAnchor constraintEqualToAnchor:view.trailingAnchor],
[downloadRow.trailingAnchor [downloadRow.topAnchor constraintEqualToAnchor:view.topAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor], constant:shadowHeight],
[downloadRow.topAnchor [downloadRow.layoutMarginsGuide.heightAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.topAnchor constraintEqualToAnchor:closeButton.heightAnchor],
constant:shadowHeight],
[downloadRow.heightAnchor
constraintEqualToAnchor:actionButton.heightAnchor],
]]; ]];
// install drive controls row constraints. // install drive controls row constraints.
UIView* installDriveRow = self.installDriveControlsRow; UIView* installDriveRow = self.installDriveControlsRow;
UIButton* installDriveButton = self.installDriveButton; UIButton* installDriveButton = self.installDriveButton;
[NSLayoutConstraint activateConstraints:@[ [NSLayoutConstraint activateConstraints:@[
[installDriveRow.leadingAnchor [installDriveRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor],
constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor],
[installDriveRow.trailingAnchor [installDriveRow.trailingAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor], constraintEqualToAnchor:view.trailingAnchor],
[installDriveRow.topAnchor [installDriveRow.topAnchor
constraintEqualToAnchor:downloadRow.bottomAnchor], constraintEqualToAnchor:downloadRow.bottomAnchor],
[installDriveRow.heightAnchor [installDriveRow.heightAnchor
constraintEqualToAnchor:installDriveButton.heightAnchor], constraintEqualToAnchor:downloadRow.heightAnchor],
]]; ]];
// close button constraints. // close button constraints.
UIButton* closeButton = self.closeButton;
[NSLayoutConstraint activateConstraints:@[ [NSLayoutConstraint activateConstraints:@[
[closeButton.centerYAnchor [closeButton.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor], constraintEqualToAnchor:downloadRow.centerYAnchor],
[closeButton.trailingAnchor [closeButton.trailingAnchor
constraintEqualToAnchor:downloadRow.trailingAnchor], constraintEqualToAnchor:downloadRow.layoutMarginsGuide.trailingAnchor],
]]; ]];
// status icon constraints. // status icon constraints.
...@@ -174,11 +174,12 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -174,11 +174,12 @@ NSString* GetSizeString(long long size_in_bytes) {
[statusIcon.centerYAnchor [statusIcon.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor], constraintEqualToAnchor:downloadRow.centerYAnchor],
[statusIcon.leadingAnchor [statusIcon.leadingAnchor
constraintEqualToAnchor:downloadRow.leadingAnchor], constraintEqualToAnchor:downloadRow.layoutMarginsGuide.leadingAnchor],
]]; ]];
// status label constraints. // status label constraints.
UILabel* statusLabel = self.statusLabel; UILabel* statusLabel = self.statusLabel;
UIButton* actionButton = self.actionButton;
[NSLayoutConstraint activateConstraints:@[ [NSLayoutConstraint activateConstraints:@[
[statusLabel.centerYAnchor [statusLabel.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor], constraintEqualToAnchor:downloadRow.centerYAnchor],
...@@ -206,6 +207,18 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -206,6 +207,18 @@ NSString* GetSizeString(long long size_in_bytes) {
constraintEqualToAnchor:closeButton.leadingAnchor constraintEqualToAnchor:closeButton.leadingAnchor
constant:-kElementMargin], constant:-kElementMargin],
]]; ]];
// constraint line which separates download controls and install drive rows.
UIView* horizontalLine = self.horizontalLine;
[NSLayoutConstraint activateConstraints:@[
[horizontalLine.heightAnchor constraintEqualToConstant:1],
[horizontalLine.topAnchor
constraintEqualToAnchor:installDriveRow.topAnchor],
[horizontalLine.leadingAnchor
constraintEqualToAnchor:installDriveRow.leadingAnchor],
[horizontalLine.trailingAnchor
constraintEqualToAnchor:installDriveRow.trailingAnchor],
]];
} }
#pragma mark - Public #pragma mark - Public
...@@ -363,6 +376,15 @@ NSString* GetSizeString(long long size_in_bytes) { ...@@ -363,6 +376,15 @@ NSString* GetSizeString(long long size_in_bytes) {
return _installDriveButton; return _installDriveButton;
} }
- (UIView*)horizontalLine {
if (!_horizontalLine) {
_horizontalLine = [[UIView alloc] init];
_horizontalLine.translatesAutoresizingMaskIntoConstraints = NO;
_horizontalLine.backgroundColor = [MDCPalette greyPalette].tint300;
}
return _horizontalLine;
}
#pragma mark - Actions #pragma mark - Actions
- (void)didTapCloseButton { - (void)didTapCloseButton {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment