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) {
@property(nonatomic, readonly) UIView* downloadControlsRow;
@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
// constrained to installDriveControlsRow's bottomAnchor or to
// downloadControlsRow's bottomAnchor. Stored in a property to allow
......@@ -83,6 +86,7 @@ NSString* GetSizeString(long long size_in_bytes) {
@synthesize background = _background;
@synthesize downloadControlsRow = _downloadControlsRow;
@synthesize installDriveControlsRow = _installDriveControlsRow;
@synthesize horizontalLine = _horizontalLine;
@synthesize bottomConstraint = _bottomConstraint;
#pragma mark - UIViewController overrides
......@@ -99,6 +103,7 @@ NSString* GetSizeString(long long size_in_bytes) {
[self.downloadControlsRow addSubview:self.statusLabel];
[self.downloadControlsRow addSubview:self.actionButton];
[self.installDriveControlsRow addSubview:self.installDriveButton];
[self.installDriveControlsRow addSubview:self.horizontalLine];
AddNamedGuide(kActionButtonGuide, self.view);
ConstrainNamedGuideToView(kActionButtonGuide, self.actionButton);
......@@ -130,42 +135,37 @@ NSString* GetSizeString(long long size_in_bytes) {
// download controls row constraints.
UIView* downloadRow = self.downloadControlsRow;
UIButton* actionButton = self.actionButton;
UIButton* closeButton = self.closeButton;
// Account for bottom white pixel on shadow image.
CGFloat shadowHeight = CGRectGetHeight(shadow.frame) - 1;
[NSLayoutConstraint activateConstraints:@[
[downloadRow.leadingAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor],
[downloadRow.trailingAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor],
[downloadRow.topAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.topAnchor
constant:shadowHeight],
[downloadRow.heightAnchor
constraintEqualToAnchor:actionButton.heightAnchor],
[downloadRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor],
[downloadRow.trailingAnchor constraintEqualToAnchor:view.trailingAnchor],
[downloadRow.topAnchor constraintEqualToAnchor:view.topAnchor
constant:shadowHeight],
[downloadRow.layoutMarginsGuide.heightAnchor
constraintEqualToAnchor:closeButton.heightAnchor],
]];
// install drive controls row constraints.
UIView* installDriveRow = self.installDriveControlsRow;
UIButton* installDriveButton = self.installDriveButton;
[NSLayoutConstraint activateConstraints:@[
[installDriveRow.leadingAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.leadingAnchor],
[installDriveRow.leadingAnchor constraintEqualToAnchor:view.leadingAnchor],
[installDriveRow.trailingAnchor
constraintEqualToAnchor:view.layoutMarginsGuide.trailingAnchor],
constraintEqualToAnchor:view.trailingAnchor],
[installDriveRow.topAnchor
constraintEqualToAnchor:downloadRow.bottomAnchor],
[installDriveRow.heightAnchor
constraintEqualToAnchor:installDriveButton.heightAnchor],
constraintEqualToAnchor:downloadRow.heightAnchor],
]];
// close button constraints.
UIButton* closeButton = self.closeButton;
[NSLayoutConstraint activateConstraints:@[
[closeButton.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor],
[closeButton.trailingAnchor
constraintEqualToAnchor:downloadRow.trailingAnchor],
constraintEqualToAnchor:downloadRow.layoutMarginsGuide.trailingAnchor],
]];
// status icon constraints.
......@@ -174,11 +174,12 @@ NSString* GetSizeString(long long size_in_bytes) {
[statusIcon.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor],
[statusIcon.leadingAnchor
constraintEqualToAnchor:downloadRow.leadingAnchor],
constraintEqualToAnchor:downloadRow.layoutMarginsGuide.leadingAnchor],
]];
// status label constraints.
UILabel* statusLabel = self.statusLabel;
UIButton* actionButton = self.actionButton;
[NSLayoutConstraint activateConstraints:@[
[statusLabel.centerYAnchor
constraintEqualToAnchor:downloadRow.centerYAnchor],
......@@ -206,6 +207,18 @@ NSString* GetSizeString(long long size_in_bytes) {
constraintEqualToAnchor:closeButton.leadingAnchor
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
......@@ -363,6 +376,15 @@ NSString* GetSizeString(long long size_in_bytes) {
return _installDriveButton;
}
- (UIView*)horizontalLine {
if (!_horizontalLine) {
_horizontalLine = [[UIView alloc] init];
_horizontalLine.translatesAutoresizingMaskIntoConstraints = NO;
_horizontalLine.backgroundColor = [MDCPalette greyPalette].tint300;
}
return _horizontalLine;
}
#pragma mark - Actions
- (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