To allow a meaningful contentMode setting for the titleIcon image view, the title icon image is sized to fit the alert's width. The height is then adjusted proportionally.
To maintain backward compatibility (and minimize client UI changes), the icon frame size is not adjusted for non-justified alignments.
This is a potential breaking change for clients that use Justified title, however it is unlikely that many clients (if any) would do that, since it's in most cases a bad UI/UX.
PiperOrigin-RevId: 304213073
Adding support for customizing the alignment of the title icon, independently of the alignment of the title.
To preserve backward compatibility, the default title-icon alignment is the same as the title. We're using the internal _alignIconWithTitle flag to track if the alignment had been implicitly assigned. Once the value is implicitly assigned, the title icon alignment is independent from the title.
## Issues
Closes#9545, #9824.
PiperOrigin-RevId: 303748434
## (Visually) Breaking Changes
The padding between the title or title icon, and the actions, when there is no message is now determined by titleInsets.bottom instead of contentInsets.top (no sense in using contentInsets when there is no content). The actual inset value has is different, and is now 20 (changed from 24), which caused some client scuba diffs.
## Background
Insets calculations of the title and content panes in dialogs were using the same insets values, causing various misalignments. This is fixed by ensuring that title calculations are using the titleInsets and that content calculations (of the message or accessory view) are using the content insets.
## Additional (non-breaking) misalignment fixes
#### The title Label stretches too long (pink title has no right inset):
```
titletInsets = UIEdgeInsetsMake(24.f, 24.f, 24.f, 24.f);
contentInsets = UIEdgeInsetsMake(10.f, 10.f, 10.f, 10.f);
```

#### The title label is too short (pink title right inset is too large):
```
titleInsets = UIEdgeInsetsMake(12.f, 12.f, 12.f, 12.f);
```

#### A dialog with no message has a message pane (yellow):

#### A dialog with no title has a title pane (pink):

## Issues
Fixes#9545, #9824.
b/133006455, b/148572399
PiperOrigin-RevId: 303368923
Replacing all non-integral, single-precision floating point literals with double-precision values explicitly cast to CGFloat. For example, `0.1f` should become `(CGFloat)0.1`.
Regex used:
```
([0-9]*\.)([0-9]*?)([1-9]+)([0-9]*?)[fF]
```
PiperOrigin-RevId: 220683126
Adding scrimColor property to MDCAlertController, which controls the background color when the alert is presented by a MDCDialogPresentationController.
Issues: b/116845327, b/117173678.
Adding the API to customize the color of MDCAlertController's background scrim, and to apply the color during theming. Also includes tests & an example.
Issue: #5279
Issue: b/116845327
Updating AlertController API to customize the tintColor of the alert's titleIcon. Includes tests and examples.
issue: #5174
issue: Update MDC API to customize MDCAlertController title🐛
Adding a title icon property to MDCAlertController.
The title icon is an image that is shown above the dialog title, and is automatically aligned with the title, supporting all NSTextAlignment alignment options (center, natural, left, right, etc).
Includes tests and examples using the new property.
Issue: #5174
Issue: Update MDC API to customize MDCAlertController title🐛