陈剑华

Merge remote-tracking branch 'origin/main'

# Conflicts:
#	sight_harmony/features/wdComponent/src/main/ets/components/cardview/Card10Component.ets
@@ -82,4 +82,20 @@ export class DeviceUtil { @@ -82,4 +82,20 @@ export class DeviceUtil {
82 static getRandomUUIDForTraceID(): string { 82 static getRandomUUIDForTraceID(): string {
83 return util.generateRandomUUID().toUpperCase().replace(/-/g, '') 83 return util.generateRandomUUID().toUpperCase().replace(/-/g, '')
84 } 84 }
  85 +
  86 + /**
  87 + * 是否为phone设备(可折叠手机即便完全展开状态也返回true)
  88 + * @returns
  89 + */
  90 + static isPhone(): boolean {
  91 + return deviceInfo.deviceType == 'phone' || deviceInfo.deviceType == 'default';
  92 + }
  93 +
  94 + static isNotPhone(): boolean {
  95 + return !DeviceUtil.isPhone();
  96 + }
  97 +
  98 + static isTablet(): boolean {
  99 + return deviceInfo.deviceType == 'tablet';
  100 + }
85 } 101 }
1 -import { ContentDTO, slideShows, VideoInfoDTO, CompDTO } from 'wdBean'; 1 +import { ContentDTO, slideShows, VideoInfoDTO } from 'wdBean';
2 import { CommonConstants } from 'wdConstant'; 2 import { CommonConstants } from 'wdConstant';
3 import { ProcessUtils } from 'wdRouter'; 3 import { ProcessUtils } from 'wdRouter';
4 import { CardSourceInfo } from '../cardCommon/CardSourceInfo'; 4 import { CardSourceInfo } from '../cardCommon/CardSourceInfo';
@@ -5,7 +5,7 @@ import UIAbility from '@ohos.app.ability.UIAbility'; @@ -5,7 +5,7 @@ import UIAbility from '@ohos.app.ability.UIAbility';
5 import Want from '@ohos.app.ability.Want'; 5 import Want from '@ohos.app.ability.Want';
6 import window from '@ohos.window'; 6 import window from '@ohos.window';
7 import { BusinessError } from '@ohos.base'; 7 import { BusinessError } from '@ohos.base';
8 -import { EmitterEventId, EmitterUtils, WindowModel } from 'wdKit'; 8 +import { DeviceUtil, EmitterEventId, EmitterUtils, WindowModel } from 'wdKit';
9 import { ConfigurationConstant } from '@kit.AbilityKit'; 9 import { ConfigurationConstant } from '@kit.AbilityKit';
10 import { WDPushNotificationManager } from 'wdHwAbility/Index'; 10 import { WDPushNotificationManager } from 'wdHwAbility/Index';
11 import { StartupManager } from '../startupmanager/StartupManager'; 11 import { StartupManager } from '../startupmanager/StartupManager';
@@ -58,16 +58,30 @@ export default class EntryAbility extends UIAbility { @@ -58,16 +58,30 @@ export default class EntryAbility extends UIAbility {
58 console.info('floatWindowClass audioWidth' + audioWidth); 58 console.info('floatWindowClass audioWidth' + audioWidth);
59 59
60 60
61 - // let a = new WindowModel();  
62 - // 设置窗口的显示方向属性  
63 - WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT)  
64 - .then(() => {  
65 - hilog.info(0x0000, 'testTag', 'setPreferredOrientation Succeeded');  
66 - })  
67 - .catch((err: Error) => {  
68 - hilog.error(0x0000, 'testTag',  
69 - `setPreferredOrientation catch, error error.name : ${err.name}, error.message:${err.message}`);  
70 - }) 61 + // 在普通phone/折叠屏/tablet设备上以沉浸式(全屏)启动
  62 + if (DeviceUtil.isPhone() || DeviceUtil.isTablet()) {
  63 + // 设置窗口的布局是否为沉浸式布局
  64 + // 沉浸式布局是指布局不避让状态栏与导航栏,组件可能产生与其重叠的情况。
  65 + // 非沉浸式布局是指布局避让状态栏与导航栏,组件不会与其重叠。
  66 + // windowClass.setWindowLayoutFullScreen(true)
  67 + // 设置窗口全屏模式时窗口内导航栏、状态栏的属性
  68 + // windowClass.setWindowSystemBarProperties({
  69 + // statusBarContentColor: "#FFFFFF"
  70 + // })
  71 +
  72 + // 设置启动时窗口的显示方向属性,
  73 + // 普通phone以PORTRAIT/竖屏显示模式启动
  74 + // 折叠屏和tablet是以AUTO_ROTATION_RESTRICTED/受开关控制的自动旋转模式启动
  75 + WindowModel.shared.setPreferredOrientation(window.Orientation.PORTRAIT)
  76 + .then(() => {
  77 + hilog.info(0x0000, 'testTag', 'setPreferredOrientation Succeeded');
  78 + })
  79 + .catch((err: Error) => {
  80 + hilog.error(0x0000, 'testTag',
  81 + `setPreferredOrientation catch, error error.name : ${err.name}, error.message:${err.message}`);
  82 + })
  83 + }
  84 +
71 //../../../../../../features/wdLogin/src/main/ets/pages/launchPage/LaunchPage 85 //../../../../../../features/wdLogin/src/main/ets/pages/launchPage/LaunchPage
72 windowStage.loadContent('pages/launchPage/LaunchPage', (err, data) => { 86 windowStage.loadContent('pages/launchPage/LaunchPage', (err, data) => {
73 if (err.code) { 87 if (err.code) {
@@ -76,7 +90,7 @@ export default class EntryAbility extends UIAbility { @@ -76,7 +90,7 @@ export default class EntryAbility extends UIAbility {
76 } 90 }
77 hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); 91 hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
78 }); 92 });
79 - // 1.创建悬浮窗 93 + // 1.创建悬浮窗
80 // const config: window.Configuration = { 94 // const config: window.Configuration = {
81 // name: "floatWindow", windowType: window.WindowType.TYPE_FLOAT, ctx: this.context 95 // name: "floatWindow", windowType: window.WindowType.TYPE_FLOAT, ctx: this.context
82 // }; 96 // };