|
@@ -64,8 +64,12 @@ export class WindowHelper {
|
|
|
*/
|
|
*/
|
|
|
static async close(): Promise<void> {
|
|
static async close(): Promise<void> {
|
|
|
if (WindowHelper.cacheWindow) {
|
|
if (WindowHelper.cacheWindow) {
|
|
|
- await WindowHelper.cacheWindow.destroyWindow();
|
|
|
|
|
- WindowHelper.cacheWindow = null
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ await WindowHelper.cacheWindow.destroyWindow();
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ WindowHelper.cacheWindow = null
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -81,16 +85,21 @@ export class WindowHelper {
|
|
|
public static set windowClass(value: window.Window | undefined) {
|
|
public static set windowClass(value: window.Window | undefined) {
|
|
|
WindowHelper._windowClass = value;
|
|
WindowHelper._windowClass = value;
|
|
|
if (value) {
|
|
if (value) {
|
|
|
- GlobalContext.setUiContext(value.getUIContext())
|
|
|
|
|
- }
|
|
|
|
|
- if (WindowHelper._windowClass) {
|
|
|
|
|
- let avoidArea = WindowHelper._windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR);
|
|
|
|
|
- WindowHelper._bottomRectHeight = px2vp(avoidArea.bottomRect.height)
|
|
|
|
|
- let avoidArea2 = WindowHelper._windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_CUTOUT);
|
|
|
|
|
- WindowHelper._topRectHeight = px2vp(avoidArea2.topRect.height)
|
|
|
|
|
- let avoidArea3 = WindowHelper._windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM);
|
|
|
|
|
- const a = px2vp(avoidArea3.topRect.height)
|
|
|
|
|
- WindowHelper._topRectHeight = a > WindowHelper._topRectHeight ? a : WindowHelper._topRectHeight
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ const uc = value.getUIContext()
|
|
|
|
|
+ GlobalContext.setUiContext(uc)
|
|
|
|
|
+ try {
|
|
|
|
|
+ let avoidArea = value.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR);
|
|
|
|
|
+ WindowHelper._bottomRectHeight = uc.px2vp(avoidArea.bottomRect.height)
|
|
|
|
|
+ let avoidArea2 = value.getWindowAvoidArea(window.AvoidAreaType.TYPE_CUTOUT);
|
|
|
|
|
+ WindowHelper._topRectHeight = uc.px2vp(avoidArea2.topRect.height)
|
|
|
|
|
+ let avoidArea3 = value.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM);
|
|
|
|
|
+ const a = uc.px2vp(avoidArea3.topRect.height)
|
|
|
|
|
+ WindowHelper._topRectHeight = a > WindowHelper._topRectHeight ? a : WindowHelper._topRectHeight
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -119,11 +128,19 @@ export class WindowHelper {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static get windowsWidth() {
|
|
public static get windowsWidth() {
|
|
|
- return px2vp(display.getDefaultDisplaySync().width)
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ return GlobalContext.getUiContext()?.px2vp(display.getDefaultDisplaySync().width)??0
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ return 0
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public static get windowsHeight() {
|
|
public static get windowsHeight() {
|
|
|
- return px2vp(display.getDefaultDisplaySync().height)
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ return GlobalContext.getUiContext()?.px2vp(display.getDefaultDisplaySync().height)??0
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ return 0
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -133,7 +150,8 @@ export class WindowHelper {
|
|
|
static setWindowLayoutFullScreen(isLayoutFullScreen: boolean) {
|
|
static setWindowLayoutFullScreen(isLayoutFullScreen: boolean) {
|
|
|
if (WindowHelper._windowClass) {
|
|
if (WindowHelper._windowClass) {
|
|
|
WindowHelper._isFullScreen = isLayoutFullScreen
|
|
WindowHelper._isFullScreen = isLayoutFullScreen
|
|
|
- WindowHelper._windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);
|
|
|
|
|
|
|
+ WindowHelper._windowClass.setWindowLayoutFullScreen(isLayoutFullScreen).catch(() => {
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -142,8 +160,10 @@ export class WindowHelper {
|
|
|
*/
|
|
*/
|
|
|
static hideStatusBar() {
|
|
static hideStatusBar() {
|
|
|
if (WindowHelper._windowClass) {
|
|
if (WindowHelper._windowClass) {
|
|
|
- WindowHelper._windowClass.setSpecificSystemBarEnabled('status', false);
|
|
|
|
|
- WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', false);
|
|
|
|
|
|
|
+ WindowHelper._windowClass.setSpecificSystemBarEnabled('status', false).catch(() => {
|
|
|
|
|
+ });
|
|
|
|
|
+ WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', false).catch(() => {
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -152,8 +172,10 @@ export class WindowHelper {
|
|
|
*/
|
|
*/
|
|
|
static showStatusBar() {
|
|
static showStatusBar() {
|
|
|
if (WindowHelper._windowClass) {
|
|
if (WindowHelper._windowClass) {
|
|
|
- WindowHelper._windowClass.setSpecificSystemBarEnabled('status', true);
|
|
|
|
|
- WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', true);
|
|
|
|
|
|
|
+ WindowHelper._windowClass.setSpecificSystemBarEnabled('status', true).catch(() => {
|
|
|
|
|
+ });
|
|
|
|
|
+ WindowHelper._windowClass.setSpecificSystemBarEnabled('navigationIndicator', true).catch(() => {
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -166,6 +188,7 @@ export class WindowHelper {
|
|
|
if (WindowHelper._windowClass) {
|
|
if (WindowHelper._windowClass) {
|
|
|
WindowHelper._windowClass.setWindowSystemBarProperties({
|
|
WindowHelper._windowClass.setWindowSystemBarProperties({
|
|
|
statusBarContentColor: color,
|
|
statusBarContentColor: color,
|
|
|
|
|
+ }).catch(() => {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|