16e80583aSopenharmony_ci/** 26e80583aSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 36e80583aSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 46e80583aSopenharmony_ci * you may not use this file except in compliance with the License. 56e80583aSopenharmony_ci * You may obtain a copy of the License at 66e80583aSopenharmony_ci * 76e80583aSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 86e80583aSopenharmony_ci * 96e80583aSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 106e80583aSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 116e80583aSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 126e80583aSopenharmony_ci * See the License for the specific language governing permissions and 136e80583aSopenharmony_ci * limitations under the License. 146e80583aSopenharmony_ci */ 156e80583aSopenharmony_ci 166e80583aSopenharmony_ciimport { AppItemInfo } from './AppItemInfo'; 176e80583aSopenharmony_ciimport GridLayoutInfoColumns from './GridLayoutInfoColumns'; 186e80583aSopenharmony_ciimport GridLayoutItemInfo from './GridLayoutItemInfo'; 196e80583aSopenharmony_ciimport { CheckEmptyUtils } from '../utils/CheckEmptyUtils'; 206e80583aSopenharmony_ci 216e80583aSopenharmony_ci/** 226e80583aSopenharmony_ci * Item info of GridLayoutInfo item. 236e80583aSopenharmony_ci */ 246e80583aSopenharmony_ciexport default class GridLayoutItemBuilder { 256e80583aSopenharmony_ci /** 266e80583aSopenharmony_ci * GridLayoutItemInfo: id 276e80583aSopenharmony_ci */ 286e80583aSopenharmony_ci readonly id: number | undefined; 296e80583aSopenharmony_ci 306e80583aSopenharmony_ci /** 316e80583aSopenharmony_ci * GridLayoutItemInfo: cardId 326e80583aSopenharmony_ci */ 336e80583aSopenharmony_ci cardId: number | undefined; 346e80583aSopenharmony_ci 356e80583aSopenharmony_ci /** 366e80583aSopenharmony_ci * GridLayoutItemInfo: ID of the bigfolder. 376e80583aSopenharmony_ci */ 386e80583aSopenharmony_ci folderId: string | undefined; 396e80583aSopenharmony_ci 406e80583aSopenharmony_ci /** 416e80583aSopenharmony_ci * GridLayoutItemInfo: bigfolder id 426e80583aSopenharmony_ci * Not in bigfolder: - 100 436e80583aSopenharmony_ci * In a bigfolder: ID of the bigfolder. 446e80583aSopenharmony_ci */ 456e80583aSopenharmony_ci container: number | undefined; 466e80583aSopenharmony_ci 476e80583aSopenharmony_ci /** 486e80583aSopenharmony_ci * GridLayoutItemInfo: bigfolder Name 496e80583aSopenharmony_ci */ 506e80583aSopenharmony_ci folderName: string | undefined; 516e80583aSopenharmony_ci 526e80583aSopenharmony_ci /** 536e80583aSopenharmony_ci * GridLayoutItemInfo: badgeNumber 546e80583aSopenharmony_ci */ 556e80583aSopenharmony_ci badgeNumber: number | undefined; 566e80583aSopenharmony_ci 576e80583aSopenharmony_ci /** 586e80583aSopenharmony_ci * GridLayoutItemInfo: type 0:app 1:card 3:bigfolder 596e80583aSopenharmony_ci */ 606e80583aSopenharmony_ci typeId: number | undefined; 616e80583aSopenharmony_ci 626e80583aSopenharmony_ci /** 636e80583aSopenharmony_ci * GridLayoutItemInfo: area 646e80583aSopenharmony_ci */ 656e80583aSopenharmony_ci area: number[] | undefined; 666e80583aSopenharmony_ci 676e80583aSopenharmony_ci /** 686e80583aSopenharmony_ci * GridLayoutItemInfo: page 696e80583aSopenharmony_ci */ 706e80583aSopenharmony_ci page: number | undefined; 716e80583aSopenharmony_ci 726e80583aSopenharmony_ci /** 736e80583aSopenharmony_ci * GridLayoutItemInfo: column of positons 746e80583aSopenharmony_ci */ 756e80583aSopenharmony_ci column: number | undefined; 766e80583aSopenharmony_ci 776e80583aSopenharmony_ci /** 786e80583aSopenharmony_ci * GridLayoutItemInfo: row of positons 796e80583aSopenharmony_ci */ 806e80583aSopenharmony_ci row: number | undefined; 816e80583aSopenharmony_ci 826e80583aSopenharmony_ci /** 836e80583aSopenharmony_ci * GridLayoutItemInfo: bigfolder apps info 846e80583aSopenharmony_ci */ 856e80583aSopenharmony_ci layoutInfo: AppItemInfo[] | undefined; 866e80583aSopenharmony_ci 876e80583aSopenharmony_ci /** 886e80583aSopenharmony_ci * Indicates bundleName. 896e80583aSopenharmony_ci */ 906e80583aSopenharmony_ci bundleName: string | undefined; 916e80583aSopenharmony_ci 926e80583aSopenharmony_ci /** 936e80583aSopenharmony_ci * Indicates abilityName. 946e80583aSopenharmony_ci */ 956e80583aSopenharmony_ci abilityName: string | undefined; 966e80583aSopenharmony_ci 976e80583aSopenharmony_ci moduleName: string | undefined; 986e80583aSopenharmony_ci 996e80583aSopenharmony_ci /** 1006e80583aSopenharmony_ci * Indicates keyName. 1016e80583aSopenharmony_ci */ 1026e80583aSopenharmony_ci keyName: string | undefined; 1036e80583aSopenharmony_ci 1046e80583aSopenharmony_ci /** 1056e80583aSopenharmony_ci * GridLayoutItemInfo: extend1 1066e80583aSopenharmony_ci */ 1076e80583aSopenharmony_ci extend1: string | undefined; 1086e80583aSopenharmony_ci 1096e80583aSopenharmony_ci /** 1106e80583aSopenharmony_ci * GridLayoutItemInfo: extend2 1116e80583aSopenharmony_ci */ 1126e80583aSopenharmony_ci extend2: string | undefined; 1136e80583aSopenharmony_ci 1146e80583aSopenharmony_ci /** 1156e80583aSopenharmony_ci * GridLayoutItemInfo: extend3 1166e80583aSopenharmony_ci */ 1176e80583aSopenharmony_ci extend3: number | undefined; 1186e80583aSopenharmony_ci 1196e80583aSopenharmony_ci constructor(id: number) { 1206e80583aSopenharmony_ci this.id = id; 1216e80583aSopenharmony_ci } 1226e80583aSopenharmony_ci 1236e80583aSopenharmony_ci static fromResultSet(resultSet: any): GridLayoutItemBuilder { 1246e80583aSopenharmony_ci let gridlayoutItemBuilder = new GridLayoutItemBuilder(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.ID))); 1256e80583aSopenharmony_ci gridlayoutItemBuilder.setCardId(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.CARD_ID))); 1266e80583aSopenharmony_ci gridlayoutItemBuilder.setFolderId(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.FOLDER_ID))); 1276e80583aSopenharmony_ci gridlayoutItemBuilder.setContainer(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.CONTAINER))); 1286e80583aSopenharmony_ci gridlayoutItemBuilder.setFolderName(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.FOLDER_NAME))); 1296e80583aSopenharmony_ci gridlayoutItemBuilder.setBadgeNumber(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.BADGE_NUMBER))); 1306e80583aSopenharmony_ci gridlayoutItemBuilder.setTypeId(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.TYPE_ID))); 1316e80583aSopenharmony_ci gridlayoutItemBuilder.setArea(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.AREA))); 1326e80583aSopenharmony_ci gridlayoutItemBuilder.setPage(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.PAGE))); 1336e80583aSopenharmony_ci gridlayoutItemBuilder.setColumn(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.COLUMN))); 1346e80583aSopenharmony_ci gridlayoutItemBuilder.setRow(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.ROW))); 1356e80583aSopenharmony_ci gridlayoutItemBuilder.setBundleName(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.BUNDLE_NAME))); 1366e80583aSopenharmony_ci gridlayoutItemBuilder.setAbilityName(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.ABILITY_NAME))); 1376e80583aSopenharmony_ci gridlayoutItemBuilder.setModuleName(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.MODULE_NAME))); 1386e80583aSopenharmony_ci gridlayoutItemBuilder.setKeyName(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.KEY_NAME))); 1396e80583aSopenharmony_ci gridlayoutItemBuilder.setExtend1(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.EXTEND1))); 1406e80583aSopenharmony_ci gridlayoutItemBuilder.setExtend2(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.EXTEND2))); 1416e80583aSopenharmony_ci gridlayoutItemBuilder.setExtend3(resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.EXTEND3))); 1426e80583aSopenharmony_ci return gridlayoutItemBuilder; 1436e80583aSopenharmony_ci } 1446e80583aSopenharmony_ci 1456e80583aSopenharmony_ci static buildLayout(resultSet: any): AppItemInfo { 1466e80583aSopenharmony_ci let appItemInfo = new AppItemInfo(); 1476e80583aSopenharmony_ci appItemInfo.appName = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.APP_NAME)); 1486e80583aSopenharmony_ci appItemInfo.isSystemApp = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.IS_SYSTEM_APP)) > 0 ? true :false; 1496e80583aSopenharmony_ci appItemInfo.isUninstallAble = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.IS_UNINSTALLABLE)) > 0 ? true :false; 1506e80583aSopenharmony_ci appItemInfo.appIconId = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.APPICON_ID)); 1516e80583aSopenharmony_ci appItemInfo.appLabelId = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.APPLABEL_ID)); 1526e80583aSopenharmony_ci appItemInfo.bundleName = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.BUNDLE_NAME)); 1536e80583aSopenharmony_ci appItemInfo.abilityName = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.ABILITY_NAME)); 1546e80583aSopenharmony_ci appItemInfo.moduleName = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.MODULE_NAME)); 1556e80583aSopenharmony_ci appItemInfo.keyName = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.KEY_NAME)); 1566e80583aSopenharmony_ci appItemInfo.installTime = resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.INSTALL_TIME)); 1576e80583aSopenharmony_ci appItemInfo.typeId = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.TYPE_ID)); 1586e80583aSopenharmony_ci appItemInfo.area = this.getArea(resultSet.getString(resultSet.getColumnIndex(GridLayoutInfoColumns.AREA))); 1596e80583aSopenharmony_ci appItemInfo.page = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.PAGE)); 1606e80583aSopenharmony_ci appItemInfo.column = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.COLUMN)); 1616e80583aSopenharmony_ci appItemInfo.row = resultSet.getLong(resultSet.getColumnIndex(GridLayoutInfoColumns.ROW)); 1626e80583aSopenharmony_ci return appItemInfo; 1636e80583aSopenharmony_ci } 1646e80583aSopenharmony_ci 1656e80583aSopenharmony_ci private setCardId(cardId: number) { 1666e80583aSopenharmony_ci this.cardId = cardId; 1676e80583aSopenharmony_ci return this; 1686e80583aSopenharmony_ci } 1696e80583aSopenharmony_ci 1706e80583aSopenharmony_ci private setFolderId(folderId: string) { 1716e80583aSopenharmony_ci this.folderId = folderId; 1726e80583aSopenharmony_ci return this; 1736e80583aSopenharmony_ci } 1746e80583aSopenharmony_ci 1756e80583aSopenharmony_ci private setContainer(container: number) { 1766e80583aSopenharmony_ci this.container = container; 1776e80583aSopenharmony_ci return this; 1786e80583aSopenharmony_ci } 1796e80583aSopenharmony_ci 1806e80583aSopenharmony_ci private setFolderName(folderName: string) { 1816e80583aSopenharmony_ci this.folderName = folderName; 1826e80583aSopenharmony_ci return this; 1836e80583aSopenharmony_ci } 1846e80583aSopenharmony_ci 1856e80583aSopenharmony_ci private setBadgeNumber(badgeNumber: number) { 1866e80583aSopenharmony_ci this.badgeNumber = badgeNumber; 1876e80583aSopenharmony_ci return this; 1886e80583aSopenharmony_ci } 1896e80583aSopenharmony_ci 1906e80583aSopenharmony_ci private setTypeId(typeId: number) { 1916e80583aSopenharmony_ci this.typeId = typeId; 1926e80583aSopenharmony_ci return this; 1936e80583aSopenharmony_ci } 1946e80583aSopenharmony_ci 1956e80583aSopenharmony_ci private setArea(area: string) { 1966e80583aSopenharmony_ci let areaArray:number[] = []; 1976e80583aSopenharmony_ci let temp = area.split(","); 1986e80583aSopenharmony_ci if (!CheckEmptyUtils.isEmptyArr(temp) && temp.length === 2) { 1996e80583aSopenharmony_ci areaArray[0] = Number(temp[0]); 2006e80583aSopenharmony_ci areaArray[1] = Number(temp[1]); 2016e80583aSopenharmony_ci } 2026e80583aSopenharmony_ci this.area = areaArray; 2036e80583aSopenharmony_ci return this; 2046e80583aSopenharmony_ci } 2056e80583aSopenharmony_ci 2066e80583aSopenharmony_ci static getArea(area: string): number[] { 2076e80583aSopenharmony_ci let areaArray:number[] = []; 2086e80583aSopenharmony_ci let temp = area.split(","); 2096e80583aSopenharmony_ci if (!CheckEmptyUtils.isEmptyArr(temp) && temp.length === 2) { 2106e80583aSopenharmony_ci areaArray[0] = Number(temp[0]); 2116e80583aSopenharmony_ci areaArray[1] = Number(temp[1]); 2126e80583aSopenharmony_ci } 2136e80583aSopenharmony_ci return areaArray; 2146e80583aSopenharmony_ci } 2156e80583aSopenharmony_ci 2166e80583aSopenharmony_ci private setPage(page: number) { 2176e80583aSopenharmony_ci this.page = page; 2186e80583aSopenharmony_ci return this; 2196e80583aSopenharmony_ci } 2206e80583aSopenharmony_ci 2216e80583aSopenharmony_ci private setColumn(column: number) { 2226e80583aSopenharmony_ci this.column = column; 2236e80583aSopenharmony_ci return this; 2246e80583aSopenharmony_ci } 2256e80583aSopenharmony_ci 2266e80583aSopenharmony_ci private setRow(row: number) { 2276e80583aSopenharmony_ci this.row = row; 2286e80583aSopenharmony_ci return this; 2296e80583aSopenharmony_ci } 2306e80583aSopenharmony_ci 2316e80583aSopenharmony_ci private setBundleName(bundleName: string) { 2326e80583aSopenharmony_ci this.bundleName = bundleName; 2336e80583aSopenharmony_ci return this; 2346e80583aSopenharmony_ci } 2356e80583aSopenharmony_ci 2366e80583aSopenharmony_ci private setAbilityName(abilityName: string) { 2376e80583aSopenharmony_ci this.abilityName = abilityName; 2386e80583aSopenharmony_ci return this; 2396e80583aSopenharmony_ci } 2406e80583aSopenharmony_ci 2416e80583aSopenharmony_ci private setModuleName(moduleName: string) { 2426e80583aSopenharmony_ci this.moduleName = moduleName; 2436e80583aSopenharmony_ci return this; 2446e80583aSopenharmony_ci } 2456e80583aSopenharmony_ci 2466e80583aSopenharmony_ci private setKeyName(keyName: string) { 2476e80583aSopenharmony_ci this.keyName = keyName; 2486e80583aSopenharmony_ci return this; 2496e80583aSopenharmony_ci } 2506e80583aSopenharmony_ci 2516e80583aSopenharmony_ci setLayoutInfo(appItemInfos : AppItemInfo[]) { 2526e80583aSopenharmony_ci this.layoutInfo = appItemInfos; 2536e80583aSopenharmony_ci return this; 2546e80583aSopenharmony_ci } 2556e80583aSopenharmony_ci 2566e80583aSopenharmony_ci private setExtend1(extend1: string) { 2576e80583aSopenharmony_ci this.extend1 = extend1; 2586e80583aSopenharmony_ci return this; 2596e80583aSopenharmony_ci } 2606e80583aSopenharmony_ci 2616e80583aSopenharmony_ci private setExtend2(extend2: string) { 2626e80583aSopenharmony_ci this.extend2 = extend2; 2636e80583aSopenharmony_ci return this; 2646e80583aSopenharmony_ci } 2656e80583aSopenharmony_ci 2666e80583aSopenharmony_ci private setExtend3(extend3: number) { 2676e80583aSopenharmony_ci this.extend3 = extend3; 2686e80583aSopenharmony_ci return this; 2696e80583aSopenharmony_ci } 2706e80583aSopenharmony_ci 2716e80583aSopenharmony_ci buildGridLayoutItem(): GridLayoutItemInfo { 2726e80583aSopenharmony_ci return new GridLayoutItemInfo(this); 2736e80583aSopenharmony_ci } 2746e80583aSopenharmony_ci}