1048147e0Sopenharmony_ci/**
2048147e0Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
3048147e0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4048147e0Sopenharmony_ci * you may not use this file except in compliance with the License.
5048147e0Sopenharmony_ci * You may obtain a copy of the License at
6048147e0Sopenharmony_ci *
7048147e0Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8048147e0Sopenharmony_ci *
9048147e0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10048147e0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11048147e0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12048147e0Sopenharmony_ci * See the License for the specific language governing permissions and
13048147e0Sopenharmony_ci * limitations under the License.
14048147e0Sopenharmony_ci */
15048147e0Sopenharmony_ci
16048147e0Sopenharmony_ciimport common from '../data/commonData';
17048147e0Sopenharmony_ci
18048147e0Sopenharmony_ciexport default {
19048147e0Sopenharmony_ci    commonContactParam(actionData) {
20048147e0Sopenharmony_ci        let str = {
21048147e0Sopenharmony_ci            'bundleName': common.string.CONTACT_BUNDLE_NAME,
22048147e0Sopenharmony_ci            'abilityName': common.string.CONTACT_ABILITY_NAME,
23048147e0Sopenharmony_ci            'parameters': actionData,
24048147e0Sopenharmony_ci            'entities': [
25048147e0Sopenharmony_ci                common.string.COMMON_ENTITIES
26048147e0Sopenharmony_ci            ]
27048147e0Sopenharmony_ci        };
28048147e0Sopenharmony_ci        return str;
29048147e0Sopenharmony_ci    },
30048147e0Sopenharmony_ci
31048147e0Sopenharmony_ci    getDisplay(mmsParts) {
32048147e0Sopenharmony_ci        let display = common.MESSAGE_SHOW_TYPE.NORMAL;
33048147e0Sopenharmony_ci        let first = mmsParts[0];
34048147e0Sopenharmony_ci        if (mmsParts.length == 1) {
35048147e0Sopenharmony_ci            display = common.MESSAGE_SHOW_TYPE.NORMAL;
36048147e0Sopenharmony_ci        } else if (mmsParts.length >= 2) {
37048147e0Sopenharmony_ci            let second = mmsParts[1];
38048147e0Sopenharmony_ci            if (first.msgType == common.MSG_ITEM_TYPE.THEME) {
39048147e0Sopenharmony_ci                if (second.msgType == common.MSG_ITEM_TYPE.IMAGE || second.msgType == common.MSG_ITEM_TYPE.VIDEO) {
40048147e0Sopenharmony_ci                    display = common.MESSAGE_SHOW_TYPE.PPT_IMAGE;
41048147e0Sopenharmony_ci                } else if (mmsParts.length > 2) {
42048147e0Sopenharmony_ci                    display = common.MESSAGE_SHOW_TYPE.PPT_NO_IMAGE;
43048147e0Sopenharmony_ci                } else {
44048147e0Sopenharmony_ci                    display = common.MESSAGE_SHOW_TYPE.THEME_NO_IMAGE;
45048147e0Sopenharmony_ci                }
46048147e0Sopenharmony_ci            } else if (second.msgType == common.MSG_ITEM_TYPE.THEME && mmsParts.length == 3) {
47048147e0Sopenharmony_ci                display = common.MESSAGE_SHOW_TYPE.THEME_IMAGE;
48048147e0Sopenharmony_ci            } else {
49048147e0Sopenharmony_ci                if (first.msgType == common.MSG_ITEM_TYPE.IMAGE || first.msgType == common.MSG_ITEM_TYPE.VIDEO) {
50048147e0Sopenharmony_ci                    display = common.MESSAGE_SHOW_TYPE.PPT_IMAGE;
51048147e0Sopenharmony_ci                } else {
52048147e0Sopenharmony_ci                    display = common.MESSAGE_SHOW_TYPE.PPT_NO_IMAGE;
53048147e0Sopenharmony_ci                }
54048147e0Sopenharmony_ci            }
55048147e0Sopenharmony_ci        }
56048147e0Sopenharmony_ci        return display;
57048147e0Sopenharmony_ci    },
58048147e0Sopenharmony_ci
59048147e0Sopenharmony_ci    setItemMmsContent(item, mmsParts) {
60048147e0Sopenharmony_ci        item.msgUriPath = common.string.EMPTY_STR;
61048147e0Sopenharmony_ci        item.content = common.string.EMPTY_STR;
62048147e0Sopenharmony_ci        let first = mmsParts[0];
63048147e0Sopenharmony_ci        item.msgUriPath = first.msgUriPath;
64048147e0Sopenharmony_ci        item.audioTime = first.time;
65048147e0Sopenharmony_ci        if (mmsParts.length == 1) {
66048147e0Sopenharmony_ci            item.msgType = first.msgType;
67048147e0Sopenharmony_ci            item.content = first.content;
68048147e0Sopenharmony_ci        } else if (mmsParts.length >= 2) {
69048147e0Sopenharmony_ci            let content = first.content;
70048147e0Sopenharmony_ci            let second = mmsParts[1];
71048147e0Sopenharmony_ci            let secondContent = second.content;
72048147e0Sopenharmony_ci            if (first.msgType == common.MSG_ITEM_TYPE.THEME) {
73048147e0Sopenharmony_ci                if (second.msgType == common.MSG_ITEM_TYPE.IMAGE || second.msgType == common.MSG_ITEM_TYPE.VIDEO) {
74048147e0Sopenharmony_ci                    item.msgUriPath = second.msgUriPath;
75048147e0Sopenharmony_ci                }
76048147e0Sopenharmony_ci                if (content == common.string.EMPTY_STR) {
77048147e0Sopenharmony_ci                    item.content = secondContent;
78048147e0Sopenharmony_ci                } else {
79048147e0Sopenharmony_ci                    item.content = content + '\n' + secondContent;
80048147e0Sopenharmony_ci                }
81048147e0Sopenharmony_ci            } else if (second.msgType == common.MSG_ITEM_TYPE.THEME && mmsParts.length === 3) {
82048147e0Sopenharmony_ci                item.msgUriPath = first.msgUriPath;
83048147e0Sopenharmony_ci                item.msgType = first.msgType;
84048147e0Sopenharmony_ci                let third = mmsParts[2];
85048147e0Sopenharmony_ci                let thirdContent = third.content;
86048147e0Sopenharmony_ci                if (secondContent == common.string.EMPTY_STR) {
87048147e0Sopenharmony_ci                    item.content = thirdContent;
88048147e0Sopenharmony_ci                } else {
89048147e0Sopenharmony_ci                    item.content = secondContent + '\n' + thirdContent;
90048147e0Sopenharmony_ci                }
91048147e0Sopenharmony_ci            } else {
92048147e0Sopenharmony_ci                item.content = content;
93048147e0Sopenharmony_ci            }
94048147e0Sopenharmony_ci        }
95048147e0Sopenharmony_ci    },
96048147e0Sopenharmony_ci
97048147e0Sopenharmony_ci    getMmsSource(mmsParts) {
98048147e0Sopenharmony_ci        let source = [];
99048147e0Sopenharmony_ci        mmsParts.forEach(part => {
100048147e0Sopenharmony_ci            let obj = {
101048147e0Sopenharmony_ci                msgType: parseInt(part.type),
102048147e0Sopenharmony_ci                msgUriPath: part.locationPath,
103048147e0Sopenharmony_ci                time: part.recordingTime,
104048147e0Sopenharmony_ci                content: part.content,
105048147e0Sopenharmony_ci                fileSize: part.fileSize,
106048147e0Sopenharmony_ci                messageType: part.messageType ? parseInt(part.messageType) : 0
107048147e0Sopenharmony_ci            }
108048147e0Sopenharmony_ci            source.push(obj);
109048147e0Sopenharmony_ci        });
110048147e0Sopenharmony_ci        return source;
111048147e0Sopenharmony_ci    },
112048147e0Sopenharmony_ci
113048147e0Sopenharmony_ci    getMmsContent(mmsSource) {
114048147e0Sopenharmony_ci        let content = common.string.EMPTY_STR;
115048147e0Sopenharmony_ci        for (let mms of mmsSource) {
116048147e0Sopenharmony_ci            // Indicates that the topic exists.
117048147e0Sopenharmony_ci            if (mms.msgType == common.MSG_ITEM_TYPE.THEME) {
118048147e0Sopenharmony_ci                content = mms.content;
119048147e0Sopenharmony_ci                break;
120048147e0Sopenharmony_ci            }
121048147e0Sopenharmony_ci        }
122048147e0Sopenharmony_ci        return content;
123048147e0Sopenharmony_ci    },
124048147e0Sopenharmony_ci
125048147e0Sopenharmony_ci    checkIsMms(dataSource) {
126048147e0Sopenharmony_ci        // Indicates whether the SMS message is a common message.
127048147e0Sopenharmony_ci        let isMsg = false;
128048147e0Sopenharmony_ci        for (let index = 0; index < dataSource.length; index++) {
129048147e0Sopenharmony_ci            let item = dataSource[index];
130048147e0Sopenharmony_ci            if (!item.isMsm) {
131048147e0Sopenharmony_ci                isMsg = true;
132048147e0Sopenharmony_ci                break;
133048147e0Sopenharmony_ci            }
134048147e0Sopenharmony_ci        }
135048147e0Sopenharmony_ci        return isMsg;
136048147e0Sopenharmony_ci    },
137048147e0Sopenharmony_ci
138048147e0Sopenharmony_ci    judgeIsSelectText(mmsSource) {
139048147e0Sopenharmony_ci        let flage = false;
140048147e0Sopenharmony_ci        for (let item of mmsSource) {
141048147e0Sopenharmony_ci            let msgType = item.msgType;
142048147e0Sopenharmony_ci            if (common.MSG_ITEM_TYPE.THEME == msgType) {
143048147e0Sopenharmony_ci                flage = true;
144048147e0Sopenharmony_ci            }
145048147e0Sopenharmony_ci            if (common.MSG_ITEM_TYPE.TEXT == msgType && item.content != common.string.EMPTY_STR) {
146048147e0Sopenharmony_ci                flage = true;
147048147e0Sopenharmony_ci            }
148048147e0Sopenharmony_ci            if ((common.MSG_ITEM_TYPE.IMAGE == msgType || common.MSG_ITEM_TYPE.AUDIO == msgType ||
149048147e0Sopenharmony_ci                common.MSG_ITEM_TYPE.VIDEO == msgType) && item.content != common.string.EMPTY_STR) {
150048147e0Sopenharmony_ci                flage = true;
151048147e0Sopenharmony_ci            }
152048147e0Sopenharmony_ci        }
153048147e0Sopenharmony_ci        return flage;
154048147e0Sopenharmony_ci    },
155048147e0Sopenharmony_ci
156048147e0Sopenharmony_ci    judgeIsImage(mmsSource) {
157048147e0Sopenharmony_ci        let flage = false;
158048147e0Sopenharmony_ci        for (let item of mmsSource) {
159048147e0Sopenharmony_ci            let msgType = item.msgType;
160048147e0Sopenharmony_ci            if (common.MSG_ITEM_TYPE.IMAGE == msgType) {
161048147e0Sopenharmony_ci                flage = true;
162048147e0Sopenharmony_ci            }
163048147e0Sopenharmony_ci        }
164048147e0Sopenharmony_ci        return flage;
165048147e0Sopenharmony_ci    },
166048147e0Sopenharmony_ci
167048147e0Sopenharmony_ci    getTransmitContentHeight(list) {
168048147e0Sopenharmony_ci        let height = 0;
169048147e0Sopenharmony_ci        list.forEach((item) => {
170048147e0Sopenharmony_ci            if (item.msgShowType == common.MESSAGE_SHOW_TYPE.NORMAL) {
171048147e0Sopenharmony_ci                height = height + common.TRANSMIT_ITEM_HEIGHT.TEXT_HEIGHT;
172048147e0Sopenharmony_ci            } else if (item.msgShowType == common.MESSAGE_SHOW_TYPE.THEME_IMAGE) {
173048147e0Sopenharmony_ci                height = height + common.TRANSMIT_ITEM_HEIGHT.THEME_IMAGE_HEIGHT;
174048147e0Sopenharmony_ci            } else if (item.msgShowType == common.MESSAGE_SHOW_TYPE.PPT_IMAGE) {
175048147e0Sopenharmony_ci                height = height + common.TRANSMIT_ITEM_HEIGHT.PPT_IMAGE_HEIGHT;
176048147e0Sopenharmony_ci            } else if (item.msgShowType == common.MESSAGE_SHOW_TYPE.THEME_NO_IMAGE ||
177048147e0Sopenharmony_ci            item.msgShowType == common.MESSAGE_SHOW_TYPE.PPT_NO_IMAGE) {
178048147e0Sopenharmony_ci                height = height + common.TRANSMIT_ITEM_HEIGHT.THEME_HEIGHT;
179048147e0Sopenharmony_ci            }
180048147e0Sopenharmony_ci            height = height + common.TRANSMIT_ITEM_HEIGHT.DISTANCE;
181048147e0Sopenharmony_ci        });
182048147e0Sopenharmony_ci        if (height > common.TRANSMIT_ITEM_HEIGHT.TOTAL_HEIGHT) {
183048147e0Sopenharmony_ci            height = common.TRANSMIT_ITEM_HEIGHT.TOTAL_HEIGHT;
184048147e0Sopenharmony_ci        }
185048147e0Sopenharmony_ci        return height;
186048147e0Sopenharmony_ci    },
187048147e0Sopenharmony_ci
188048147e0Sopenharmony_ci    judgeIsAttachment(mmsSource): boolean {
189048147e0Sopenharmony_ci        let flage = false;
190048147e0Sopenharmony_ci        if (mmsSource == null || mmsSource.length == 0) {
191048147e0Sopenharmony_ci            return flage;
192048147e0Sopenharmony_ci        }
193048147e0Sopenharmony_ci        for (let item of mmsSource) {
194048147e0Sopenharmony_ci            let msgType = item.msgType;
195048147e0Sopenharmony_ci            if (common.MSG_ITEM_TYPE.IMAGE == msgType || common.MSG_ITEM_TYPE.VIDEO == msgType ||
196048147e0Sopenharmony_ci                common.MSG_ITEM_TYPE.AUDIO == msgType) {
197048147e0Sopenharmony_ci                flage = true;
198048147e0Sopenharmony_ci            }
199048147e0Sopenharmony_ci        }
200048147e0Sopenharmony_ci        return flage;
201048147e0Sopenharmony_ci    }
202048147e0Sopenharmony_ci}