Merge pull request #5846 from dignow/fix/cm_window_await_call_order
fix: cm await call
This commit is contained in:
commit
76e9d749c9
@ -234,19 +234,24 @@ void runConnectionManagerScreen(bool hide) async {
|
|||||||
listenUniLinks(handleByFlutter: false);
|
listenUniLinks(handleByFlutter: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool _isCmReadyToShow = false;
|
||||||
|
|
||||||
showCmWindow({bool isStartup = false}) async {
|
showCmWindow({bool isStartup = false}) async {
|
||||||
if (isStartup) {
|
if (isStartup) {
|
||||||
WindowOptions windowOptions = getHiddenTitleBarWindowOptions(
|
WindowOptions windowOptions = getHiddenTitleBarWindowOptions(
|
||||||
size: kConnectionManagerWindowSizeClosedChat);
|
size: kConnectionManagerWindowSizeClosedChat);
|
||||||
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
await windowManager.waitUntilReadyToShow(windowOptions, null);
|
||||||
bind.mainHideDocker();
|
bind.mainHideDocker();
|
||||||
await windowManager.show();
|
await Future.wait([
|
||||||
await Future.wait([windowManager.focus(), windowManager.setOpacity(1)]);
|
windowManager.show(),
|
||||||
// ensure initial window size to be changed
|
windowManager.focus(),
|
||||||
await windowManager.setSizeAlignment(
|
windowManager.setOpacity(1)
|
||||||
kConnectionManagerWindowSizeClosedChat, Alignment.topRight);
|
]);
|
||||||
});
|
// ensure initial window size to be changed
|
||||||
} else {
|
await windowManager.setSizeAlignment(
|
||||||
|
kConnectionManagerWindowSizeClosedChat, Alignment.topRight);
|
||||||
|
_isCmReadyToShow = true;
|
||||||
|
} else if (_isCmReadyToShow) {
|
||||||
if (await windowManager.getOpacity() != 1) {
|
if (await windowManager.getOpacity() != 1) {
|
||||||
await windowManager.setOpacity(1);
|
await windowManager.setOpacity(1);
|
||||||
await windowManager.focus();
|
await windowManager.focus();
|
||||||
@ -263,12 +268,12 @@ hideCmWindow({bool isStartup = false}) async {
|
|||||||
WindowOptions windowOptions = getHiddenTitleBarWindowOptions(
|
WindowOptions windowOptions = getHiddenTitleBarWindowOptions(
|
||||||
size: kConnectionManagerWindowSizeClosedChat);
|
size: kConnectionManagerWindowSizeClosedChat);
|
||||||
windowManager.setOpacity(0);
|
windowManager.setOpacity(0);
|
||||||
windowManager.waitUntilReadyToShow(windowOptions, () async {
|
await windowManager.waitUntilReadyToShow(windowOptions, null);
|
||||||
bind.mainHideDocker();
|
bind.mainHideDocker();
|
||||||
await windowManager.minimize();
|
await windowManager.minimize();
|
||||||
await windowManager.hide();
|
await windowManager.hide();
|
||||||
});
|
_isCmReadyToShow = true;
|
||||||
} else {
|
} else if (_isCmReadyToShow) {
|
||||||
if (await windowManager.getOpacity() != 0) {
|
if (await windowManager.getOpacity() != 0) {
|
||||||
await windowManager.setOpacity(0);
|
await windowManager.setOpacity(0);
|
||||||
bind.mainHideDocker();
|
bind.mainHideDocker();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user