18779efd5Sopenharmony_ci/**
28779efd5Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
38779efd5Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
48779efd5Sopenharmony_ci * you may not use this file except in compliance with the License.
58779efd5Sopenharmony_ci * You may obtain a copy of the License at
68779efd5Sopenharmony_ci *
78779efd5Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
88779efd5Sopenharmony_ci *
98779efd5Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
108779efd5Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
118779efd5Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
128779efd5Sopenharmony_ci * See the License for the specific language governing permissions and
138779efd5Sopenharmony_ci * limitations under the License.
148779efd5Sopenharmony_ci */
158779efd5Sopenharmony_ci
168779efd5Sopenharmony_ciimport RawContact from './RawContact';
178779efd5Sopenharmony_ciimport ContactBuilder from './ContactBuilder';
188779efd5Sopenharmony_ci
198779efd5Sopenharmony_ciexport default class Contact {
208779efd5Sopenharmony_ci  readonly id: number;
218779efd5Sopenharmony_ci  readonly nameRawContactId: number;
228779efd5Sopenharmony_ci  readonly quickSearchKey: string;
238779efd5Sopenharmony_ci  readonly photoId: number;
248779efd5Sopenharmony_ci  readonly photoFileId: number;
258779efd5Sopenharmony_ci  readonly personalRingtone: string;
268779efd5Sopenharmony_ci  readonly personalNotificationRingtone: string;
278779efd5Sopenharmony_ci  readonly isTransferVoiceMail: boolean;
288779efd5Sopenharmony_ci  readonly company: string;
298779efd5Sopenharmony_ci  readonly position: string;
308779efd5Sopenharmony_ci  readonly hasDisplayName: boolean;
318779efd5Sopenharmony_ci  readonly hasPhoneNumber: boolean;
328779efd5Sopenharmony_ci  readonly readOnly: boolean;
338779efd5Sopenharmony_ci  readonly hasGroup: boolean;
348779efd5Sopenharmony_ci  readonly hasEmail: boolean;
358779efd5Sopenharmony_ci  readonly rowContacts: RawContact[];
368779efd5Sopenharmony_ci
378779efd5Sopenharmony_ci  constructor(contactBuilder: ContactBuilder) {
388779efd5Sopenharmony_ci    this.id = contactBuilder.id;
398779efd5Sopenharmony_ci    this.nameRawContactId = contactBuilder.nameRawContactId;
408779efd5Sopenharmony_ci    this.quickSearchKey = contactBuilder.quickSearchKey;
418779efd5Sopenharmony_ci    this.photoId = contactBuilder.photoId;
428779efd5Sopenharmony_ci    this.photoFileId = contactBuilder.photoFileId;
438779efd5Sopenharmony_ci    this.personalRingtone = contactBuilder.personalRingtone;
448779efd5Sopenharmony_ci    this.personalNotificationRingtone = contactBuilder.personalNotificationRingtone;
458779efd5Sopenharmony_ci    this.isTransferVoiceMail = contactBuilder.isTransferVoiceMail;
468779efd5Sopenharmony_ci    this.company = contactBuilder.company;
478779efd5Sopenharmony_ci    this.position = contactBuilder.position;
488779efd5Sopenharmony_ci    this.hasDisplayName = contactBuilder.hasDisplayName;
498779efd5Sopenharmony_ci    this.hasPhoneNumber = contactBuilder.hasPhoneNumber;
508779efd5Sopenharmony_ci    this.readOnly = contactBuilder.readOnly;
518779efd5Sopenharmony_ci    this.hasGroup = contactBuilder.hasGroup;
528779efd5Sopenharmony_ci    this.hasEmail = contactBuilder.hasEmail;
538779efd5Sopenharmony_ci    this.rowContacts = contactBuilder.rowContacts;
548779efd5Sopenharmony_ci  }
558779efd5Sopenharmony_ci
568779efd5Sopenharmony_ci  addToBlackList() {
578779efd5Sopenharmony_ci    return;
588779efd5Sopenharmony_ci  }
598779efd5Sopenharmony_ci
608779efd5Sopenharmony_ci  removeFromBlackList() {
618779efd5Sopenharmony_ci    return;
628779efd5Sopenharmony_ci  }
638779efd5Sopenharmony_ci
648779efd5Sopenharmony_ci  isInBlackList() {
658779efd5Sopenharmony_ci    return false;
668779efd5Sopenharmony_ci  }
678779efd5Sopenharmony_ci
688779efd5Sopenharmony_ci  star() {
698779efd5Sopenharmony_ci    return false;
708779efd5Sopenharmony_ci  }
718779efd5Sopenharmony_ci
728779efd5Sopenharmony_ci  unStar() {
738779efd5Sopenharmony_ci    return false;
748779efd5Sopenharmony_ci  }
758779efd5Sopenharmony_ci
768779efd5Sopenharmony_ci  protected getSharedText() {
778779efd5Sopenharmony_ci    return '我是被分享的文本';
788779efd5Sopenharmony_ci  }
798779efd5Sopenharmony_ci
808779efd5Sopenharmony_ci  protected getSharedQRCode() {
818779efd5Sopenharmony_ci    return '我是被分享的二维码';
828779efd5Sopenharmony_ci  }
838779efd5Sopenharmony_ci
848779efd5Sopenharmony_ci  protected getSharedVcard() {
858779efd5Sopenharmony_ci    return '我是被分享的Vcard';
868779efd5Sopenharmony_ci  }
878779efd5Sopenharmony_ci  /**
888779efd5Sopenharmony_ci   * type:
898779efd5Sopenharmony_ci   * 1: 二维码
908779efd5Sopenharmony_ci   * 2:vCard
918779efd5Sopenharmony_ci   * 3:文本
928779efd5Sopenharmony_ci   */
938779efd5Sopenharmony_ci  shareContactByType(type: number) {
948779efd5Sopenharmony_ci  }
958779efd5Sopenharmony_ci
968779efd5Sopenharmony_ci  addBirthDayToCalendar() {
978779efd5Sopenharmony_ci
988779efd5Sopenharmony_ci  }
998779efd5Sopenharmony_ci
1008779efd5Sopenharmony_ci  clearPhotos() {
1018779efd5Sopenharmony_ci    return false;
1028779efd5Sopenharmony_ci  }
1038779efd5Sopenharmony_ci
1048779efd5Sopenharmony_ci  getPhoto() {
1058779efd5Sopenharmony_ci    return {};
1068779efd5Sopenharmony_ci  }
1078779efd5Sopenharmony_ci
1088779efd5Sopenharmony_ci  isReadOnly() {
1098779efd5Sopenharmony_ci    return false;
1108779efd5Sopenharmony_ci  }
1118779efd5Sopenharmony_ci}
1128779efd5Sopenharmony_ci
113