Make "Run on Startup" UI state persistent #2265 (#2266)

This commit is contained in:
Jason C. McDonald 2021-02-01 20:39:41 -08:00 committed by GitHub
parent 66a437e64d
commit 293e930c78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -78,12 +78,14 @@ class DefaultMailClientItem extends React.Component<{}, DefaultMailClientItemSta
}
}
interface LaunchSystemStartItemState {
launchOnStart: boolean | 'unavailable';
}
class LaunchSystemStartItem extends React.Component {
_service = new SystemStartService();
state = {
available: false,
launchOnStart: false,
};
state: LaunchSystemStartItemState = { launchOnStart: 'unavailable' };
_mounted: boolean;
@ -92,12 +94,13 @@ class LaunchSystemStartItem extends React.Component {
const available = await service.checkAvailability();
if (!this._mounted) return;
this.setState({ available });
if (available) {
const launchOnStart = service.doesLaunchOnSystemStart();
const launchOnStart = await service.doesLaunchOnSystemStart();
if (!this._mounted) return;
this.setState({ launchOnStart });
this.setState({ launchOnStart: launchOnStart });
} else {
this.setState({ launchOnStart: 'unavailable' });
}
}
@ -117,7 +120,7 @@ class LaunchSystemStartItem extends React.Component {
};
render() {
if (!this.state.available) return false;
if (this.state.launchOnStart === 'unavailable') return false;
return (
<div className="item">