diff --git a/Telephony/eTSSimManager/README_zh.md b/Telephony/eTSSimManager/README_zh.md new file mode 100644 index 0000000000000000000000000000000000000000..746efa99d50d3596de293bf61ad78362d650d80f --- /dev/null +++ b/Telephony/eTSSimManager/README_zh.md @@ -0,0 +1,17 @@ +# 电话服务-SIM卡管理 + +## 简介 + +本示例eTS来展示电话服务中SIM相关功能,包含ICCID、默认语音业务、ISO国家码、SIM卡的归属PLMN号、SIM卡的服务提供商名称、SIM卡的GID1。 + +### 使用说明 + +1.点击SIM卡1区域,弹出面板显示卡1的ICCID、ISO国家码、SIM卡的归属PLMN号、SIM卡的服务提供商名称、SIM卡的GID1等信息, 再次点击面板消失, SIM卡2区域显示同理。 + +2.默认拨号卡界面只展示目前默认拨号的SIM卡,更改默认拨号卡功能暂未开放。 + +3.呼叫转移界面功能暂未开放,故点击按钮无实际操作。 + +### 约束与限制 + +本示例仅支持在标准系统上运行。 \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/build.gradle b/Telephony/eTSSimManager/entry/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..cef7b37de8f320938458ca42edde1462669836d2 --- /dev/null +++ b/Telephony/eTSSimManager/entry/build.gradle @@ -0,0 +1,21 @@ +apply plugin: 'com.huawei.ohos.hap' +//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510 +ohos { + compileSdkVersion 8 + defaultConfig { + compatibleSdkVersion 7 + } + buildTypes { + release { + proguardOpt { + proguardEnabled false + rulesFiles 'proguard-rules.pro' + } + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) + testImplementation 'junit:junit:4.13.1' +} diff --git a/Telephony/eTSSimManager/entry/src/main/config.json b/Telephony/eTSSimManager/entry/src/main/config.json new file mode 100644 index 0000000000000000000000000000000000000000..3e1a612f41daec4acacd39ef389a9b88b6b8ec23 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/config.json @@ -0,0 +1,71 @@ +{ + "app": { + "bundleName": "ohos.samples.etssimmanager", + "vendor": "samples", + "version": { + "code": 1000000, + "name": "1.0.0" + } + }, + "deviceConfig": {}, + "module": { + "package": "ohos.samples.etssimmanager", + "name": ".MyApplication", + "mainAbility": ".MainAbility", + "srcPath": "", + "deviceType": [ + "phone" + ], + "distro": { + "deliveryWithInstall": true, + "moduleName": "entry", + "moduleType": "entry", + "installationFree": false + }, + "abilities": [ + { + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ], + "orientation": "unspecified", + "visible": true, + "srcPath": "MainAbility", + "name": ".MainAbility", + "srcLanguage": "ets", + "icon": "$media:icon", + "description": "$string:description_mainability", + "formsEnabled": false, + "label": "$string:entry_MainAbility", + "type": "page", + "launchType": "standard" + } + ], + "js": [ + { + "mode": { + "syntax": "ets", + "type": "pageAbility" + }, + "pages": [ + "pages/index" + ], + "name": ".MainAbility", + "window": { + "designWidth": 720, + "autoDesignWidth": false + } + } + ], + "reqPermissions": [ + { + "name": "ohos.permission.GET_TELEPHONY_STATE" + }] + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/app.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/app.ets new file mode 100644 index 0000000000000000000000000000000000000000..bf28e58b36cf11db491d3f00768ef2c9e41d05cf --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/app.ets @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export default { + onCreate() { + console.info('Application onCreate') + }, + onDestroy() { + console.info('Application onDestroy') + }, +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/callView.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/callView.ets new file mode 100644 index 0000000000000000000000000000000000000000..842c222f9bfeddbc707bb045dfc5a951a5201a3d --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/callView.ets @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@Component +export struct CallView { + build() { + Column() { + Row() { + Text($r('app.string.data')) + .fontColor(Color.Gray) + .fontSize(20) + .layoutWeight(1) + + Text($r("app.string.sim1_id")) + .fontColor(Color.Gray) + .textAlign(TextAlign.End) + .margin({ left: ('20%') }) + .fontSize(20) + + Image($r('app.media.right')) + .objectFit(ImageFit.Contain) + .width(20) + .height(20) + } + .margin({ bottom: (5) }) + + Divider() + .width('100%') + .backgroundColor(Color.Black) + + Column() { + Text($r('app.string.call')) + .fontColor(Color.Gray) + .margin({ top: (5) }) + .fontSize(20) + + Row() { + Text($r('app.string.calling')) + .fontColor(Color.Gray) + .fontSize(14) + .layoutWeight(1) + + Image($r('app.media.right')) + .objectFit(ImageFit.Contain) + .width(20) + .height(20) + .margin({ left: ('18%') }) + } + } + .alignItems(HorizontalAlign.Start) + } + .alignItems(HorizontalAlign.Start) + .margin(8) + .borderRadius(10) + .padding(10) + .width('95%') + .backgroundColor(Color.White) + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/infoView.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/infoView.ets new file mode 100644 index 0000000000000000000000000000000000000000..9f3690b7eb22894d1bd650da90be823a43a8773c --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/infoView.ets @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { SimManager } from '../model/simManager.ets' +import { ShowView } from '../common/showView.ets' +import { SimView } from '../common/simView.ets' +import { CallView } from '../common/callView.ets' + +@Component +export struct InfoView { + @State array: Array = [] + @State slotId: number = 0 + @State text: any = '' + private simManage:SimManager = new SimManager() + private self = null + private TAG = '[SIM.InfoView]' + dialogController: CustomDialogController = new CustomDialogController({ + builder: ShowView({ slotId: $slotId }), autoCancel: true, alignment: DialogAlignment.Center }) + + aboutToAppear() { + this.self = this + this.getSimState(0) + this.getSimState(1) + } + + getSimState(slotId) { + this.simManage.getSimState(slotId, (simState) => { + let title = slotId == 0 ? $r('app.string.sim1_card') : $r('app.string.sim2_card') + let image = slotId == 0 ? $r("app.media.sim1_img") : $r("app.media.sim2_img") + this.self.array.push({ slotId: slotId, title: title, image: image}) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + switch(simState) { + case 0: + this.text = $r("app.string.unknown") + break + case 1: + this.text = $r('app.string.not_present') + break + case 2: + this.text = $r('app.string.locked') + break + case 3: + this.text = $r('app.string.not_ready') + break + case 4: + this.text = $r('app.string.ready') + break + case 5: + this.text = $r('app.string.loaded') + break + default: + this.text = $r('app.string.available') + } + }) + } + + build() { + Scroll() { + Column() { + ForEach(this.array, item => { + Row() { + Image(item.image) + .objectFit(ImageFit.Contain) + .width('20%') + .height(100) + Flex({ direction: FlexDirection.Column, alignContent: FlexAlign.Start }) { + Text(item.title) + .fontSize(18) + Text(this.text) + .fontSize(17) + Text($r('app.string.network')) + .fontSize(16) + .fontColor(Color.Gray) + } + .margin(10) + .padding(5) + .layoutWeight(1) + Image($r('app.media.right')) + .objectFit(ImageFit.Contain) + .width(20) + .height(20) + .margin({ left: ('30%') }) + .layoutWeight(1) + } + .margin(8) + .padding({ top: 6, left: 5, right: 5, bottom: 6 }) + .borderRadius(10) + .width('95%') + .backgroundColor(Color.White) + .onClick(() => { + this.slotId = item.slotId + this.dialogController.open() + console.log(`${this.TAG} CustomDialog start`) + }) + }, item => JSON.stringify(item)) + + SimView() + CallView() + } + } + .layoutWeight(1) + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/showView.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/showView.ets new file mode 100644 index 0000000000000000000000000000000000000000..cf2ade17ece9a3944825d0562af5bd2a8ca93e1d --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/showView.ets @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { SimManager } from '../model/simManager.ets' + +@CustomDialog +export struct ShowView { + @Link slotId: number + @State array: Array = [] + private simManage:SimManager = new SimManager() + private simTitle = null + private TAG = '[SIM.ShowView]' + controller: CustomDialogController + + aboutToAppear() { + let self = this + this.simTitle = this.slotId ==0 ? $r('app.string.sim1_state'):$r('app.string.sim2_state') + this.simManage.getSimSpn(this.slotId, (result) => { + self.array.push({ title: $r('app.string.spn'), value: result }) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + }) + this.simManage.getSimIccId(this.slotId, (result) => { + self.array.push({ title: $r('app.string.IccId'), value: result }) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + }) + this.simManage.getSimGid(this.slotId, (result) => { + self.array.push({ title: $r('app.string.gid'), value: result }) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + }) + this.simManage.getISOCountryCodeForSim(this.slotId, (result) => { + self.array.push({ title: $r('app.string.iso'), value: result }) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + }) + this.simManage.getSimOperatorNumeric(this.slotId, (result) => { + self.array.push({ title: $r('app.string.plmn'), value: result }) + console.log(`${this.TAG} The array is ${JSON.stringify(this.array)}`) + }) + } + + build() { + Column() { + Text(this.simTitle) + .fontSize(18) + .margin({ left: 5, right: 5, top: 5, bottom: 10 }) + + ForEach(this.array, item => { + Text(item.title) + .fontColor(Color.Gray) + .fontSize(18) + .margin(5) + + Text(item.value) + .fontSize(18) + .margin(5) + }, item => JSON.stringify(item)) + } + .margin(10) + .padding(5) + .alignItems(HorizontalAlign.Start) + .width('100%') + .borderRadius(10) + .onClick(() => { + this.controller.close() + console.log(`${this.TAG} CustomDialog close`) + }) + } +} diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/simView.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/simView.ets new file mode 100644 index 0000000000000000000000000000000000000000..983b26101702742770dcfb4021e3bbefd8caab40 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/common/simView.ets @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { SimManager } from '../model/simManager.ets' + +@Component +export struct SimView { + @State color: string = '' + @State array: Array = [{ title: $r('app.string.sim1_id') }, { title: $r('app.string.sim2_id') }] + private simManage: SimManager = new SimManager() + + aboutToAppear() { + const TAG = '[SIM.SimView]' + this.simManage.getDefaultVoiceSlotId((result) => { + console.log(`${TAG} getDefaultVoiceSlotId result is ${result}`) + if (result == -1) { + this.color = '#FFFFFF' + } else { + this.color = result == 0 ? '#0D9FFB' : '#FFFFFF' + } + }) + } + + build() { + Column() { + Row() { + Text($r('app.string.voice')) + .fontColor(Color.Gray) + .fontSize(20) + .layoutWeight(1) + Row() { + ForEach(this.array, item => { + Button() { + Text(item.title) + .textAlign(TextAlign.Center) + .fontColor(Color.Black) + .fontSize(18) + } + .borderRadius(10) + .backgroundColor(this.color) + .padding(3) + .height(40) + .width(70) + }, item => JSON.stringify(item)) + } + .backgroundColor(Color.Gray) + .borderRadius(50) + } + .margin(8) + .borderRadius(10) + .padding(10) + .width('95%') + .backgroundColor(Color.White) + } + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/model/simManager.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/model/simManager.ets new file mode 100644 index 0000000000000000000000000000000000000000..daad357daa3746194c7a31b241ab32781a189142 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/model/simManager.ets @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import sim from '@ohos.telephony.sim' + +export class SimManager { + private TAG = '[SIM.SimManager]' + + setCallBack(callback, data) { + if (typeof (JSON.stringify(data)) == 'undefined') { + callback($r('app.string.available')) + } else { + callback(JSON.stringify(data)) + } + } + + getSimState(slotId, callback) { + sim.getSimState(slotId, (err, data) => { + console.log(`${this.TAG} getSimState callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`) + if (data == 4) { + callback(JSON.stringify(data)) + } else { + callback(`Not available`) + } + }) + } + + getSimOperatorNumeric(slotId, callback) { + sim.getSimOperatorNumeric(slotId, (err, data) => { + console.log(`${this.TAG} getSimOperatorNumeric callback: err->${err}, data->${data}`); + this.setCallBack(callback, data) + }) + } + + getSimSpn(slotId, callback) { + sim.getSimSpn(slotId, (err, data) => { + console.log(`${this.TAG} getSimSpn callback: err->${err}, data->${(data)}`) + this.setCallBack(callback, data) + }) + } + + getSimIccId(slotId, callback) { + sim.getSimIccId(slotId, (err, data) => { + console.log(`${this.TAG} getSimIccId callback: err->${JSON.stringify(err)}, data->${data}`) + this.setCallBack(callback, data) + }) + } + + getISOCountryCodeForSim(slotId, callback) { + sim.getSimIccId(slotId, (err, data) => { + console.log(`${this.TAG} getISOCountryCodeForSim callback: err->${err}, data->${data}`) + this.setCallBack(callback, data) + }) + } + + getSimGid(slotId, callback) { + sim.getSimGid1(slotId, (err, data) => { + console.log(`${this.TAG} getSimGid callback: err->${err}, data->${data}`) + this.setCallBack(callback, data) + }) + } + + getDefaultVoiceSlotId(callback) { + sim.getDefaultVoiceSlotId((err, data) => { + console.log(`${this.TAG} getDefaultVoiceSlotId callback: err->${err}, data->${JSON.stringify(data)}`) + if ( typeof (JSON.stringify(data)) == 'undefined') { + callback(-1) + } else { + callback(data) + } + }) + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/pages/index.ets b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/pages/index.ets new file mode 100644 index 0000000000000000000000000000000000000000..579e0dcf64002175189224641ab206d7074dc866 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/ets/MainAbility/pages/index.ets @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { InfoView } from '../common/infoView.ets' + +@Entry +@Component +struct Index { + build() { + Column() { + Row() { + Text($r('app.string.entry_MainAbility')) + .textAlign(TextAlign.Center) + .fontSize(20) + .fontColor(Color.White) + } + .width('100%') + .height('6%') + .padding({ left: 15 }) + .backgroundColor('#0D9FFB') + .constraintSize({ minHeight: 50 }) + + InfoView() + } + .width('100%') + .height('100%') + .backgroundColor('#F1F1F1') + } +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/resources/base/element/string.json b/Telephony/eTSSimManager/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..f9c4f29cc5a9431f03c03c64a16fc73f0886557b --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/resources/base/element/string.json @@ -0,0 +1,104 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "SIM Card Management" + }, + { + "name": "description_mainability", + "value": "eTS_Empty Ability" + }, + { + "name": "network", + "value": "4G/3G/2G" + }, + { + "name": "voice", + "value": "Default dial card" + }, + { + "name": "data", + "value": "Default mobile data" + }, + { + "name": "call", + "value": "Call forwarding between dual cards" + }, + { + "name": "calling", + "value": "When a call from one card cannot be received, the call will be forwarded to another card" + }, + { + "name": "available", + "value": "Not available" + }, + { + "name": "sim1_state", + "value": "SIM Card 1 Status" + }, + { + "name": "sim2_state", + "value": "SIM Card 2 Status" + }, + { + "name": "unknown", + "value": "SIM is unknown" + }, + { + "name": "not_present", + "value": "SIM is not present" + }, + { + "name": "locked", + "value": "SIM is locked" + }, + { + "name": "not_ready", + "value": "SIM is not ready" + }, + { + "name": "ready", + "value": "SIM is ready" + }, + { + "name": "loaded", + "value": "SIM is loaded" + }, + { + "name": "spn", + "value": "SPN number" + }, + { + "name": "IccId", + "value": "ICCID" + }, + { + "name": "iso", + "value": "ISO country code" + }, + { + "name": "plmn", + "value": "Home PLMN number" + }, + { + "name": "gid", + "value": "GID" + }, + { + "name": "sim1_id", + "value": "Card1" + }, + { + "name": "sim2_id", + "value": "Card2" + }, + { + "name": "sim1_card", + "value": "SIM1 Card" + }, + { + "name": "sim2_card", + "value": "SIM2 Card" + } + ] +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/resources/base/media/icon.png b/Telephony/eTSSimManager/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c Binary files /dev/null and b/Telephony/eTSSimManager/entry/src/main/resources/base/media/icon.png differ diff --git a/Telephony/eTSSimManager/entry/src/main/resources/base/media/right.png b/Telephony/eTSSimManager/entry/src/main/resources/base/media/right.png new file mode 100644 index 0000000000000000000000000000000000000000..e9e56e0c9efc20349d3b15e79dc2588edad4a1ee Binary files /dev/null and b/Telephony/eTSSimManager/entry/src/main/resources/base/media/right.png differ diff --git a/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim1_img.png b/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim1_img.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7dea481345879d8647a62d0284b8585cec6ec4 Binary files /dev/null and b/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim1_img.png differ diff --git a/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim2_img.png b/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim2_img.png new file mode 100644 index 0000000000000000000000000000000000000000..072be1224a9ae630162146a91071bf868344653f Binary files /dev/null and b/Telephony/eTSSimManager/entry/src/main/resources/base/media/sim2_img.png differ diff --git a/Telephony/eTSSimManager/entry/src/main/resources/en/element/string.json b/Telephony/eTSSimManager/entry/src/main/resources/en/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..4c8c322edc26b9df87ce6f3dac62ae614a9d6ce7 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/resources/en/element/string.json @@ -0,0 +1,104 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "SIM Card Management" + }, + { + "name": "description_mainability", + "value": "eTS_Empty Ability" + }, + { + "name": "network", + "value": "4G/3G/2G" + }, + { + "name": "voice", + "value": "Default dial card" + }, + { + "name": "data", + "value": "Default mobile data" + }, + { + "name": "call", + "value": "Call forwarding between dual cards" + }, + { + "name": "calling", + "value": "When a call from one card cannot be received, the call will be forwarded to another card" + }, + { + "name": "sim1_state", + "value": "SIM Card 1 Status" + }, + { + "name": "sim2_state", + "value": "SIM Card 2 Status" + }, + { + "name": "available", + "value": "Not available" + }, + { + "name": "unknown", + "value": "SIM is unknown" + }, + { + "name": "not_present", + "value": "SIM is not present" + }, + { + "name": "locked", + "value": "SIM is locked" + }, + { + "name": "not_ready", + "value": "SIM is not ready" + }, + { + "name": "ready", + "value": "SIM is ready" + }, + { + "name": "loaded", + "value": "SIM is loaded" + }, + { + "name": "spn", + "value": "SPN number" + }, + { + "name": "IccId", + "value": "ICCID" + }, + { + "name": "iso", + "value": "ISO country code" + }, + { + "name": "plmn", + "value": "Home PLMN number" + }, + { + "name": "gid", + "value": "GID" + }, + { + "name": "sim1_id", + "value": "Card1" + }, + { + "name": "sim2_id", + "value": "Card2" + }, + { + "name": "sim1_card", + "value": "SIM1 Card" + }, + { + "name": "sim2_card", + "value": "SIM2 Card" + } + ] +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/entry/src/main/resources/zh/element/string.json b/Telephony/eTSSimManager/entry/src/main/resources/zh/element/string.json new file mode 100644 index 0000000000000000000000000000000000000000..58fb39f6f69c3d2ac48e6e4c58d8050487113b55 --- /dev/null +++ b/Telephony/eTSSimManager/entry/src/main/resources/zh/element/string.json @@ -0,0 +1,104 @@ +{ + "string": [ + { + "name": "entry_MainAbility", + "value": "SIM卡管理" + }, + { + "name": "description_mainability", + "value": "eTS_Empty Ability" + }, + { + "name": "network", + "value": "4G/3G/2G" + }, + { + "name": "voice", + "value": "默认拨号卡" + }, + { + "name": "data", + "value": "默认移动数据" + }, + { + "name": "call", + "value": "双卡间呼叫转移" + }, + { + "name": "calling", + "value": "一卡来电无法呼入时,呼转至另一张卡" + }, + { + "name": "sim1_state", + "value": "SIM卡1状态" + }, + { + "name": "sim2_state", + "value": "SIM卡2状态" + }, + { + "name": "available", + "value": "SIM卡不可用" + }, + { + "name": "unknown", + "value": "SIM卡状态未知" + }, + { + "name": "not_present", + "value": "没有插入SIM卡" + }, + { + "name": "locked", + "value": "SIM卡被PIN、PUK或网络锁锁定" + }, + { + "name": "not_ready", + "value": "SIM卡在位但无法正常工作" + }, + { + "name": "ready", + "value": "SIM卡在位且工作正常" + }, + { + "name": "loaded", + "value": "SIM卡在位且所有卡文件加载完毕" + }, + { + "name": "spn", + "value": "SPN号码" + }, + { + "name": "IccId", + "value": "ICCID" + }, + { + "name": "iso", + "value": "ISO国家码" + }, + { + "name": "plmn", + "value": "归属PLMN号" + }, + { + "name": "gid", + "value": "GID" + }, + { + "name": "sim1_id", + "value": "卡1" + }, + { + "name": "sim2_id", + "value": "卡2" + }, + { + "name": "sim1_card", + "value": "SIM卡1" + }, + { + "name": "sim2_card", + "value": "SIM卡2" + } + ] +} \ No newline at end of file diff --git a/Telephony/eTSSimManager/screenhots/devices/main.png b/Telephony/eTSSimManager/screenhots/devices/main.png new file mode 100644 index 0000000000000000000000000000000000000000..6341f54b05b42740d47a1edc2e2b2fe60553dd86 Binary files /dev/null and b/Telephony/eTSSimManager/screenhots/devices/main.png differ diff --git a/Telephony/eTSSimManager/settings.gradle b/Telephony/eTSSimManager/settings.gradle new file mode 100644 index 0000000000000000000000000000000000000000..4773db73233a570c2d0c01a22e75321acfbf7a07 --- /dev/null +++ b/Telephony/eTSSimManager/settings.gradle @@ -0,0 +1 @@ +include ':entry'