1/** 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import Router from '@system.router'; 17import AppManagementModel from '../model/appManagementImpl/AppManagementModel'; 18import LogUtil from '../../../../../../common/utils/src/main/ets/default/baseUtil/LogUtil'; 19import ConfigData from '../../../../../../common/utils/src/main/ets/default/baseUtil/ConfigData'; 20import { BaseData } from '../../../../../../common/utils/src/main/ets/default/bean/BaseData'; 21import HeadComponent from '../../../../../../common/component/src/main/ets/default/headComponent'; 22import ResourceUtil from '../../../../../../common/search/src/main/ets/default/common/ResourceUtil'; 23import DoubleLineComponent from '../../../../../../common/component/src/main/ets/default/doubleLineComponent'; 24import ImageAnimatorComponent from '../../../../../../common/component/src/main/ets/default/imageAnimatorComponent'; 25 26 27/** 28 * application list 29 */ 30@Entry 31@Component 32struct AppManagement { 33 @StorageLink('appManagementList') appList: BaseData[] = []; 34 private whtl: string = '80vp'; 35 36 build() { 37 Column() { 38 GridContainer({ gutter: ConfigData.GRID_CONTAINER_GUTTER_24, margin: ConfigData.GRID_CONTAINER_MARGIN_24 }) { 39 Column() { 40 HeadComponent({ headName: $r('app.string.appManagement'), isActive: true }); 41 42 if (this.appList.length <= 0) { 43 ImageAnimatorComponent({ 44 imageWidth: $r('app.float.wh_value_80'), 45 imageHeight: $r('app.float.wh_value_80'), whtl: this.whtl 46 }) 47 .margin({ top: $r("app.float.distance_8") }) 48 .zIndex(1) 49 .align(Alignment.Center) 50 .padding({ top: ConfigData.WH_35_100 }) 51 .width(ConfigData.WH_100_100) 52 .height(ConfigData.WH_100_100); 53 } 54 55 Column() { 56 List() { 57 ForEach(this.appList, (item: BaseData) => { 58 ListItem() { 59 DoubleLineComponent({ 60 settingIcon: item.settingIcon, 61 settingTitle: item.settingTitle + '', 62 settingSummary: item.settingSummary, 63 settingValue: item.settingValue ? item.settingValue.toString() : '', 64 settingArrow: item.settingArrow ? item.settingArrow.toString() : '', 65 settingArrowStyle: '', 66 settingUri: item.settingUri, 67 fontSize: $r('sys.float.ohos_id_text_size_body1'), 68 valueFontSize: $r('sys.float.ohos_id_text_size_body2') 69 }); 70 } 71 .onClick(() => { 72 if (item.settingUri) { 73 Router.push({ uri: item.settingUri, params: item }); 74 } 75 }) 76 .height($r('app.float.wh_value_72')); 77 }, (item: BaseData) => JSON.stringify(item)); 78 } 79 .borderRadius($r("app.float.radius_24")) 80 .divider({ 81 strokeWidth: 1, 82 color: $r('app.color.color_E3E3E3_grey'), 83 startMargin: $r('app.float.wh_value_65'), 84 endMargin: $r('sys.float.ohos_id_card_margin_end') 85 }) 86 .visibility(this.appList.length > 0 ? Visibility.Visible : Visibility.None) 87 .zIndex(0); 88 } 89 .layoutWeight(ConfigData.LAYOUT_WEIGHT_1) 90 .borderRadius($r("app.float.radius_24")) 91 .backgroundColor($r("app.color.white_bg_color")) 92 .padding($r('app.float.distance_4')) 93 } 94 .useSizeType({ 95 sm: { span: 4, offset: 0 }, 96 md: { span: 6, offset: 1 }, 97 lg: { span: 8, offset: 2 } 98 }) 99 } 100 .width(ConfigData.WH_100_100) 101 .height(ConfigData.WH_100_100) 102 } 103 .backgroundColor($r("sys.color.ohos_id_color_sub_background")) 104 .width(ConfigData.WH_100_100) 105 .height(ConfigData.WH_100_100) 106 } 107 108 aboutToAppear(): void { 109 LogUtil.info('settings AppManagement aboutToAppear in'); 110 111 AppStorage.SetOrCreate('appManagementList', []); 112 AppManagementModel.setAppManagementListener(); 113 ResourceUtil.getString($r('app.float.wh_value_80')).then(value => this.whtl = value); 114 LogUtil.info('settings AppManagement aboutToAppear appList:' + JSON.stringify(this.appList)); 115 116 LogUtil.info('settings AppManagement aboutToAppear out'); 117 } 118 119 aboutToDisappear(): void { 120 LogUtil.info('settings AppManagement aboutToDisappear in'); 121 AppStorage.Delete('appManagementList'); 122 LogUtil.info('settings AppManagement aboutToDisappear out'); 123 } 124}