1/* 2 * Copyright (c) 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 { paramMock } from "../utils" 17 18export function mockSMS() { 19 const SimShortMessage = { 20 shortMessage: "[PC Preview] unknow shortMessage", 21 simMessageStatus: "[PC Preview] unknow simMessageStatus", 22 indexOnSim: "[PC Preview] unknow indexOnSim" 23 } 24 const ShortMessage = { 25 visibleMessageBody: "[PC Preview] unknow visibleMessageBody", 26 visibleRawAddress: "[PC Preview] unknow visibleRawAddress", 27 messageClass: "[PC Preview] unknow messageClass", 28 protocolId: "[PC Preview] unknow protocolId", 29 scAddress: "[PC Preview] unknow scAddress", 30 scTimestamp: "[PC Preview] unknow scTimestamp", 31 isReplaceMessage: "[PC Preview] unknow isReplaceMessage", 32 hasReplyPath: "[PC Preview] unknow hasReplyPath", 33 pdu: ["[PC Preview] unknow pdu"], 34 status: "[PC Preview] unknow status", 35 isSmsStatusReportMessage: "[PC Preview] unknow isSmsStatusReportMessage", 36 emailAddress: "[PC Preview] unknow emailAddress", 37 emailMessageBody: "[PC Preview] unknow emailMessageBody", 38 userRawData: ["[PC Preview] unknow userRawData"], 39 isEmailMessage: "[PC Preview] unknow isEmailMessage", 40 } 41 const sms = { 42 splitMessage: function (...args) { 43 console.warn("telephony.sms.splitMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 44 " be different from that on a real device.") 45 const len = args.length 46 if (typeof args[len - 1] === 'function') { 47 args[len - 1].call(this, paramMock.businessErrorMock, [paramMock.paramStringMock]); 48 } else { 49 return new Promise((resolve, reject) => { 50 resolve([paramMock.paramStringMock]); 51 }) 52 } 53 }, 54 createMessage: function (...args) { 55 console.warn("telephony.sms.createMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 56 " be different from that on a real device.") 57 const len = args.length 58 if (typeof args[len - 1] === 'function') { 59 args[len - 1].call(this, paramMock.businessErrorMock, ShortMessage); 60 } else { 61 return new Promise((resolve, reject) => { 62 resolve(ShortMessage); 63 }) 64 } 65 }, 66 sendMessage: function (...args) { 67 console.warn("telephony.sms.sendMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 68 " be different from that on a real device.") 69 }, 70 setDefaultSmsSlotId: function (...args) { 71 console.warn("telephony.sms.setDefaultSmsSlotId interface mocked in the Previewer. How this interface works on the Previewer may" + 72 " be different from that on a real device.") 73 const len = args.length 74 if (typeof args[len - 1] === 'function') { 75 args[len - 1].call(this, paramMock.businessErrorMock); 76 } else { 77 return new Promise((resolve, reject) => { 78 resolve(); 79 }) 80 } 81 }, 82 getDefaultSmsSlotId: function (...args) { 83 console.warn("telephony.sms.getDefaultSmsSlotId interface mocked in the Previewer. How this interface works on the Previewer may" + 84 " be different from that on a real device.") 85 const len = args.length 86 if (typeof args[len - 1] === 'function') { 87 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramNumberMock); 88 } else { 89 return new Promise((resolve, reject) => { 90 resolve(paramMock.paramNumberMock); 91 }) 92 } 93 }, 94 setSmscAddr: function (...args) { 95 console.warn("telephony.sms.setSmscAddr interface mocked in the Previewer. How this interface works on the Previewer may" + 96 " be different from that on a real device.") 97 const len = args.length 98 if (typeof args[len - 1] === 'function') { 99 args[len - 1].call(this, paramMock.businessErrorMock); 100 } else { 101 return new Promise((resolve, reject) => { 102 resolve(); 103 }) 104 } 105 }, 106 getSmscAddr: function (...args) { 107 console.warn("telephony.sms.getSmscAddr interface mocked in the Previewer. How this interface works on the Previewer may" + 108 " be different from that on a real device.") 109 const len = args.length 110 if (typeof args[len - 1] === 'function') { 111 args[len - 1].call(this, paramMock.businessErrorMock, paramMock.paramStringMock); 112 } else { 113 return new Promise((resolve, reject) => { 114 resolve(paramMock.paramStringMock); 115 }) 116 } 117 }, 118 hasSmsCapability: function () { 119 console.warn("telephony.sms.hasSmsCapability interface mocked in the Previewer. How this interface works on the Previewer may" + 120 " be different from that on a real device.") 121 return paramMock.paramBooleanMock; 122 }, 123 addSimMessage: function (...args) { 124 console.warn("telephony.sms.addSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 125 " be different from that on a real device.") 126 const len = args.length 127 if (typeof args[len - 1] === 'function') { 128 args[len - 1].call(this, paramMock.businessErrorMock); 129 } else { 130 return new Promise((resolve, reject) => { 131 resolve(); 132 }) 133 } 134 }, 135 delSimMessage: function (...args) { 136 console.warn("telephony.sms.delSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 137 " be different from that on a real device.") 138 const len = args.length 139 if (typeof args[len - 1] === 'function') { 140 args[len - 1].call(this, paramMock.businessErrorMock); 141 } else { 142 return new Promise((resolve, reject) => { 143 resolve(); 144 }) 145 } 146 }, 147 updateSimMessage: function (...args) { 148 console.warn("telephony.sms.updateSimMessage interface mocked in the Previewer. How this interface works on the Previewer may" + 149 " be different from that on a real device.") 150 const len = args.length 151 if (typeof args[len - 1] === 'function') { 152 args[len - 1].call(this, paramMock.businessErrorMock); 153 } else { 154 return new Promise((resolve, reject) => { 155 resolve(); 156 }) 157 } 158 }, 159 getAllSimMessages: function (...args) { 160 console.warn("telephony.sms.getAllSimMessages interface mocked in the Previewer. How this interface works on the Previewer may" + 161 " be different from that on a real device.") 162 const len = args.length 163 if (typeof args[len - 1] === 'function') { 164 args[len - 1].call(this, paramMock.businessErrorMock, [SimShortMessage]); 165 } else { 166 return new Promise((resolve, reject) => { 167 resolve([SimShortMessage]); 168 }) 169 } 170 }, 171 setCBConfig: function (...args) { 172 console.warn("telephony.sms.setCBConfig interface mocked in the Previewer. How this interface works on the Previewer may" + 173 " be different from that on a real device.") 174 const len = args.length 175 if (typeof args[len - 1] === 'function') { 176 args[len - 1].call(this, paramMock.businessErrorMock); 177 } else { 178 return new Promise((resolve, reject) => { 179 resolve(); 180 }) 181 } 182 } 183 } 184 return sms 185}