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_ciimport MmsPreferences from '../utils/MmsPreferences';
16048147e0Sopenharmony_ciimport common from '../data/commonData';
17048147e0Sopenharmony_ci
18048147e0Sopenharmony_ci/**
19048147e0Sopenharmony_ci * Custom multi-SimCard pop-up menu
20048147e0Sopenharmony_ci */
21048147e0Sopenharmony_ci@Component
22048147e0Sopenharmony_ciexport struct MultiSimCardMenu {
23048147e0Sopenharmony_ci  @Prop slotId: number;
24048147e0Sopenharmony_ci  private spnOfSim1: string = MmsPreferences.getInstance().getSpnOfSim1();
25048147e0Sopenharmony_ci  private spnOfSim2: string = MmsPreferences.getInstance().getTelephoneNumberOfSim2();
26048147e0Sopenharmony_ci  private telephoneNumberOfSim1: string = MmsPreferences.getInstance().getTelephoneNumberOfSim1();
27048147e0Sopenharmony_ci  private telephoneNumberOfSim2: string = MmsPreferences.getInstance().getTelephoneNumberOfSim2();
28048147e0Sopenharmony_ci
29048147e0Sopenharmony_ci  @Builder
30048147e0Sopenharmony_ci  PopupBuilder() {
31048147e0Sopenharmony_ci    Column() {
32048147e0Sopenharmony_ci      List() {
33048147e0Sopenharmony_ci        ListItem() {
34048147e0Sopenharmony_ci          Button({ type: ButtonType.Normal }) {
35048147e0Sopenharmony_ci            Column() {
36048147e0Sopenharmony_ci              Row() {
37048147e0Sopenharmony_ci                Image($rawfile('icon/icon_mms_sim_card_1.svg'))
38048147e0Sopenharmony_ci                  .width(15)
39048147e0Sopenharmony_ci                  .height(18)
40048147e0Sopenharmony_ci                Text(this.spnOfSim1)
41048147e0Sopenharmony_ci                  .fontSize('16vp')
42048147e0Sopenharmony_ci                  .fontWeight(FontWeight.Medium)
43048147e0Sopenharmony_ci                  .fontColor($r('sys.color.ohos_id_color_text_primary'))
44048147e0Sopenharmony_ci                  .padding({ left: 2 })
45048147e0Sopenharmony_ci              }
46048147e0Sopenharmony_ci
47048147e0Sopenharmony_ci              Text(this.telephoneNumberOfSim1)
48048147e0Sopenharmony_ci                .padding({ left: 19, top: 2 })
49048147e0Sopenharmony_ci                .fontSize('14vp')
50048147e0Sopenharmony_ci                .fontWeight(FontWeight.Regular)
51048147e0Sopenharmony_ci                .fontColor($r('sys.color.ohos_id_color_text_secondary'))
52048147e0Sopenharmony_ci            }
53048147e0Sopenharmony_ci            .justifyContent(FlexAlign.Center)
54048147e0Sopenharmony_ci            .alignItems(HorizontalAlign.Start)
55048147e0Sopenharmony_ci            .padding({ left: 16 })
56048147e0Sopenharmony_ci            .width('100%')
57048147e0Sopenharmony_ci          }
58048147e0Sopenharmony_ci          .backgroundColor($r('sys.color.ohos_id_color_background_transparent'))
59048147e0Sopenharmony_ci          .width('100%')
60048147e0Sopenharmony_ci          .height('64vp')
61048147e0Sopenharmony_ci          .onClick(() => {
62048147e0Sopenharmony_ci            this.slotId = common.int.SIM_ONE;
63048147e0Sopenharmony_ci            MmsPreferences.getInstance().setValueToMap(common.string.KEY_OF_SELECTED_SLOTID, this.slotId);
64048147e0Sopenharmony_ci          })
65048147e0Sopenharmony_ci        }
66048147e0Sopenharmony_ci
67048147e0Sopenharmony_ci        ListItem() {
68048147e0Sopenharmony_ci          Button({ type: ButtonType.Normal }) {
69048147e0Sopenharmony_ci            Column() {
70048147e0Sopenharmony_ci              Row() {
71048147e0Sopenharmony_ci                Image($rawfile('icon/icon_mms_sim_card_2.svg'))
72048147e0Sopenharmony_ci                  .width(15)
73048147e0Sopenharmony_ci                  .height(18)
74048147e0Sopenharmony_ci                Text(this.spnOfSim2)
75048147e0Sopenharmony_ci                  .fontSize('16vp')
76048147e0Sopenharmony_ci                  .fontWeight(FontWeight.Medium)
77048147e0Sopenharmony_ci                  .fontColor($r('sys.color.ohos_id_color_text_primary'))
78048147e0Sopenharmony_ci                  .padding({ left: 2 })
79048147e0Sopenharmony_ci              }
80048147e0Sopenharmony_ci
81048147e0Sopenharmony_ci              Text(this.telephoneNumberOfSim2)
82048147e0Sopenharmony_ci                .padding({ left: 19, top: 2 })
83048147e0Sopenharmony_ci                .fontSize('14vp')
84048147e0Sopenharmony_ci                .fontWeight(FontWeight.Regular)
85048147e0Sopenharmony_ci                .fontColor($r('sys.color.ohos_id_color_text_secondary'))
86048147e0Sopenharmony_ci            }
87048147e0Sopenharmony_ci            .justifyContent(FlexAlign.Center)
88048147e0Sopenharmony_ci            .alignItems(HorizontalAlign.Start)
89048147e0Sopenharmony_ci            .padding({ left: 16 })
90048147e0Sopenharmony_ci            .width('100%')
91048147e0Sopenharmony_ci          }
92048147e0Sopenharmony_ci          .backgroundColor($r('sys.color.ohos_id_color_background_transparent'))
93048147e0Sopenharmony_ci          .width('100%')
94048147e0Sopenharmony_ci          .height('64vp')
95048147e0Sopenharmony_ci          .onClick(() => {
96048147e0Sopenharmony_ci            this.slotId = common.int.SIM_TWO;
97048147e0Sopenharmony_ci            MmsPreferences.getInstance().setValueToMap(common.string.KEY_OF_SELECTED_SLOTID, this.slotId);
98048147e0Sopenharmony_ci          })
99048147e0Sopenharmony_ci        }
100048147e0Sopenharmony_ci      }
101048147e0Sopenharmony_ci      .listDirection(Axis.Vertical)
102048147e0Sopenharmony_ci      .divider({
103048147e0Sopenharmony_ci        strokeWidth: 0.5,
104048147e0Sopenharmony_ci        color: $r('sys.color.ohos_id_color_list_separator'),
105048147e0Sopenharmony_ci        startMargin: 17,
106048147e0Sopenharmony_ci        endMargin: 17
107048147e0Sopenharmony_ci      })
108048147e0Sopenharmony_ci      .edgeEffect(EdgeEffect.Spring)
109048147e0Sopenharmony_ci      .chainAnimation(false)
110048147e0Sopenharmony_ci      .width('170vp')
111048147e0Sopenharmony_ci      .height('136vp')
112048147e0Sopenharmony_ci      .borderRadius(16)
113048147e0Sopenharmony_ci    }
114048147e0Sopenharmony_ci  }
115048147e0Sopenharmony_ci
116048147e0Sopenharmony_ci  build() {
117048147e0Sopenharmony_ci    Row() {
118048147e0Sopenharmony_ci      Image(this.slotId == 0 ? $rawfile('icon/ic_message_card1.svg') : $rawfile('icon/ic_message_card2.svg'))
119048147e0Sopenharmony_ci        .width(24)
120048147e0Sopenharmony_ci        .height(24)
121048147e0Sopenharmony_ci      Image($rawfile('icon/ic_public_spinner.svg'))
122048147e0Sopenharmony_ci        .width(12)
123048147e0Sopenharmony_ci        .height(24)
124048147e0Sopenharmony_ci    }
125048147e0Sopenharmony_ci    .size({ width: 36, height: 24 })
126048147e0Sopenharmony_ci    .bindMenu(this.PopupBuilder)
127048147e0Sopenharmony_ci    .onClick(() => {
128048147e0Sopenharmony_ci      this.spnOfSim1 = MmsPreferences.getInstance().getSpnOfSim1();
129048147e0Sopenharmony_ci      this.spnOfSim2 = MmsPreferences.getInstance().getSpnOfSim2();
130048147e0Sopenharmony_ci      this.telephoneNumberOfSim1 = MmsPreferences.getInstance().getTelephoneNumberOfSim1();
131048147e0Sopenharmony_ci      this.telephoneNumberOfSim2 = MmsPreferences.getInstance().getTelephoneNumberOfSim2();
132048147e0Sopenharmony_ci    })
133048147e0Sopenharmony_ci  }
134048147e0Sopenharmony_ci}