Commit 705e1516 authored by Elodie Banel's avatar Elodie Banel Committed by Commit Bot

Allow only compact widget size when all sites shown

When all the sites fit on a single row (as is the case for most
devices now that only 4 sites are shown), hide the "Show more"
option and allow only compact mode.

Bug: 860799
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: If2efa48bcd1cbe23c49b34be4ec084f95a703d08
Reviewed-on: https://chromium-review.googlesource.com/1143464Reviewed-by: default avatarOlivier Robin <olivierrobin@chromium.org>
Commit-Queue: Elodie Banel <lod@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576505}
parent 6cb4f243
...@@ -48,6 +48,9 @@ ...@@ -48,6 +48,9 @@
// positions starting at 0. // positions starting at 0.
- (void)updateSites:(NSDictionary<NSURL*, NTPTile*>*)sites; - (void)updateSites:(NSDictionary<NSURL*, NTPTile*>*)sites;
// Returns whether all the sites can be displayed on a single row.
- (BOOL)sitesFitSingleRow;
@end @end
#endif // IOS_CHROME_CONTENT_WIDGET_EXTENSION_CONTENT_WIDGET_VIEW_H_ #endif // IOS_CHROME_CONTENT_WIDGET_EXTENSION_CONTENT_WIDGET_VIEW_H_
...@@ -252,6 +252,10 @@ const int kRows = 2; ...@@ -252,6 +252,10 @@ const int kRows = 2;
return self.shouldShowSecondRow ? kTileHeight + kTileSpacing : 0; return self.shouldShowSecondRow ? kTileHeight + kTileSpacing : 0;
} }
- (BOOL)sitesFitSingleRow {
return self.iconsPerRow >= self.siteCount;
}
#pragma mark - ContentWidgetView #pragma mark - ContentWidgetView
- (void)showMode:(BOOL)compact { - (void)showMode:(BOOL)compact {
......
...@@ -80,7 +80,7 @@ NSString* const kXCallbackURLHost = @"x-callback-url"; ...@@ -80,7 +80,7 @@ NSString* const kXCallbackURLHost = @"x-callback-url";
[self.view addSubview:self.widgetView]; [self.view addSubview:self.widgetView];
self.extensionContext.widgetLargestAvailableDisplayMode = self.extensionContext.widgetLargestAvailableDisplayMode =
NCWidgetDisplayModeExpanded; NCWidgetDisplayModeCompact;
self.widgetView.translatesAutoresizingMaskIntoConstraints = NO; self.widgetView.translatesAutoresizingMaskIntoConstraints = NO;
AddSameConstraints(self.widgetView, self.view); AddSameConstraints(self.widgetView, self.view);
...@@ -149,6 +149,9 @@ NSString* const kXCallbackURLHost = @"x-callback-url"; ...@@ -149,6 +149,9 @@ NSString* const kXCallbackURLHost = @"x-callback-url";
} }
self.sites = newSites; self.sites = newSites;
[self.widgetView updateSites:self.sites]; [self.widgetView updateSites:self.sites];
self.extensionContext.widgetLargestAvailableDisplayMode =
[self.widgetView sitesFitSingleRow] ? NCWidgetDisplayModeCompact
: NCWidgetDisplayModeExpanded;
return YES; return YES;
} }
......
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