message: Port minimize to tray to new settings tab (post-merge)
  Brings in
diff: @@ -59,24 +59,39 @@ export default class PreferencesUserSettingsTab extends React.Component {
  this.state = {
  autoLaunch: false,
  autoLaunchSupported: false,
  + minimizeToTray: true,
  + minimizeToTraySupported: false,
  };
  }
  async componentWillMount(): void {
  - const autoLaunchSupported = await PlatformPeg.get().supportsAutoLaunch();
  + const platform = PlatformPeg.get();
  +
  + const autoLaunchSupported = await platform.supportsAutoLaunch();
  let autoLaunch = false;
  if (autoLaunchSupported) {
  - autoLaunch = await PlatformPeg.get().getAutoLaunchEnabled();
  + autoLaunch = await platform.getAutoLaunchEnabled();
  + }
  +
  + const minimizeToTraySupported = await platform.supportsMinimizeToTray();
  + let minimizeToTray = true;
  +
  + if (minimizeToTraySupported) {
  + minimizeToTray = await platform.getMinimizeToTrayEnabled();
  }
  - this.setState({autoLaunch, autoLaunchSupported});
  + this.setState({autoLaunch, autoLaunchSupported, minimizeToTraySupported, minimizeToTray});
  }
  _onAutoLaunchChange = (checked) => {
  PlatformPeg.get().setAutoLaunchEnabled(checked).then(() => this.setState({autoLaunch: checked}));
  };
  + _onMinimizeToTrayChange = (checked) => {
  + PlatformPeg.get().setMinimizeToTrayEnabled(checked).then(() => this.setState({minimizeToTray: checked}));
  + };
  +
  _onAutocompleteDelayChange = (e) => {
  SettingsStore.setValue("autocompleteDelay", null, SettingLevel.DEVICE, e.target.value);
  };
  @@ -94,6 +109,13 @@ export default class PreferencesUserSettingsTab extends React.Component {
  label={_t('Start automatically after system login')} />;
  }
  + let minimizeToTrayOption = null;
  + if (this.state.minimizeToTraySupported) {
  + minimizeToTrayOption = <LabelledToggleSwitch value={this.state.minimizeToTray}
  + onChange={this._onMinimizeToTrayChange}
  + label={_t('Close button should minimize window to tray')} />;
  + }
  +
  return (
  <div className="mx_SettingsTab mx_PreferencesUserSettingsTab">
  <div className="mx_SettingsTab_heading">{_t("Preferences")}</div>
  @@ -106,6 +128,7 @@ export default class PreferencesUserSettingsTab extends React.Component {
  <span className="mx_SettingsTab_subheading">{_t("Advanced")}</span>
  {this._renderGroup(PreferencesUserSettingsTab.ADVANCED_SETTINGS)}
  + {minimizeToTrayOption}
  {autoLaunchOption}
  <Field id={"autocompleteDelay"} label={_t('Autocomplete delay (ms)')} type='number'
  value={SettingsStore.getValueAt(SettingLevel.DEVICE, 'autocompleteDelay')}
  