update code callui:
Signed-off-by: 18518779689 <litingting84@huawei.com>
22
AppScope/resources/base/media/app_start_window_icon.svg
Normal file
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_back</title>
|
||||
<g
|
||||
id="Public/ic_back"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<path
|
||||
d="M5.20724438,13.7499686 L11.1767767,19.7196699 L11.210518,19.7556673 C11.4692013,20.0502619 11.4579542,20.4991526 11.1767767,20.7803301 C10.8955992,21.0615076 10.4467085,21.0727547 10.1521139,20.8140714 L10.1161165,20.7803301 L3.08574438,13.7499686 L5.20724438,13.7499686 Z M11.1767767,3.21966991 C11.4579542,3.5008474 11.4692013,3.94973814 11.210518,4.24433269 L11.1767767,4.28033009 L4.20694661,11.25 L20.8964466,11.25 C21.2958668,11.25 21.6223618,11.56223 21.6451734,11.9559318 L21.6464466,12 C21.6464466,12.3994202 21.3342166,12.7259152 20.9405148,12.7487268 L20.8964466,12.75 L3,12.75 C2.73478351,12.75 2.4804296,12.6446432 2.29289322,12.4571068 C1.9153864,12.0796 1.90280284,11.4753589 2.25514254,11.0827365 L2.29289322,11.0428932 L10.1161165,3.21966991 C10.4090097,2.9267767 10.8838835,2.9267767 11.1767767,3.21966991 Z"
|
||||
id="形状结合"
|
||||
fill="#00000000"
|
||||
fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
@ -1,16 +1,14 @@
|
||||
import Ability from '@ohos.app.ability.UIAbility'
|
||||
import LogUtils from '../common/utils/LogUtils'
|
||||
import CallManager from '../model/CallManager'
|
||||
import GlobalThisHelper from '../common/utils/GlobalThisHelper'
|
||||
import Constants from '../common/utils/Constants'
|
||||
|
||||
const TAG = "MainAbility";
|
||||
|
||||
export default class MainAbility extends Ability {
|
||||
onCreate(want, launchParam) {
|
||||
LogUtils.i(TAG, "onCreate")
|
||||
GlobalThisHelper.set<any>(Constants.GLOBALTHIS_ABILITY_WANT, want);
|
||||
GlobalThisHelper.set<any>(Constants.GLOBALTHIS_CONTEXT, this.context);
|
||||
globalThis.abilityWant = want;
|
||||
globalThis.calluiAbilityContext = this.context;
|
||||
}
|
||||
|
||||
onWindowStageCreate(windowStage) {
|
||||
|
@ -40,9 +40,21 @@ export default class CallManagerService {
|
||||
private mTelephonyCall: TelephonyCall ;
|
||||
private callData = null;
|
||||
private callList = [];
|
||||
private context: any;
|
||||
private context;
|
||||
private static sCallManagerService: CallManagerService;
|
||||
|
||||
public constructor(context: any) {
|
||||
public static getInstance(): CallManagerService {
|
||||
if (!CallManagerService.sCallManagerService) {
|
||||
CallManagerService.sCallManagerService = new CallManagerService();
|
||||
}
|
||||
return CallManagerService.sCallManagerService;
|
||||
}
|
||||
|
||||
public constructor() {
|
||||
}
|
||||
|
||||
|
||||
public init(context) {
|
||||
this.mTelephonyCall = new TelephonyCall;
|
||||
this.addRegisterListener();
|
||||
this.addSubscriber();
|
||||
@ -131,10 +143,10 @@ export default class CallManagerService {
|
||||
* single call or dialing pull up the application
|
||||
*/
|
||||
if (callState === CALL_STATUS_INCOMING || callState === CALL_STATUS_WAITING || callState === CALL_STATUS_DIALING) {
|
||||
if (this.callList.length > 1) {
|
||||
this.publishData(callData)
|
||||
}
|
||||
this.startAbility(callData);
|
||||
if (this.callList.length > 1) {
|
||||
this.publishData(callData);
|
||||
}
|
||||
} else if (callState !== CALL_STATUS_DISCONNECTING) {
|
||||
this.publishData(callData);
|
||||
}
|
||||
|
@ -2,7 +2,8 @@ import Want from '@ohos.application.Want';
|
||||
import ServiceExtension from '@ohos.app.ability.ServiceExtensionAbility';
|
||||
import CallManagerService from './CallManagerService';
|
||||
import rpc from '@ohos.rpc';
|
||||
import LogUtils from "../common/utils/LogUtils"
|
||||
import LogUtils from "../common/utils/LogUtils";
|
||||
import DefaultCallData from '../common/struct/TypeUtils'
|
||||
|
||||
const TAG = "ServiceAbility";
|
||||
|
||||
@ -11,12 +12,13 @@ export default class ServiceAbility extends ServiceExtension {
|
||||
|
||||
onCreate(want) {
|
||||
LogUtils.i(TAG, "onCreate callUI service");
|
||||
this.callManagerService = new CallManagerService(this.context);
|
||||
this.callManagerService = CallManagerService.getInstance();
|
||||
this.callManagerService.init(this.context);
|
||||
}
|
||||
|
||||
onConnect(want: Want) {
|
||||
LogUtils.i(TAG, "onConnect callUI service");
|
||||
let callData: any = {};
|
||||
let callData: DefaultCallData = new DefaultCallData();
|
||||
callData.accountNumber = want.parameters?.accountNumber;
|
||||
callData.videoState = want.parameters?.videoState;
|
||||
callData.callType = want.parameters?.callType;
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 789 B |
Before Width: | Height: | Size: 756 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
@ -19,13 +19,16 @@
|
||||
|
||||
import CallServiceProxy from '../../model/CallServiceProxy';
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
import DefaultCallData from '../struct/TypeUtils';
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
|
||||
const TAG = "BottomBtn";
|
||||
|
||||
@Component
|
||||
export default struct BottomBtn {
|
||||
onItemClick: Function = null;
|
||||
@Link callData: any;
|
||||
@Link callData: DefaultCallData;
|
||||
@Link callList: Array<CallListStruct>;
|
||||
private mCallServiceProxy: CallServiceProxy;
|
||||
private imageList;
|
||||
|
||||
@ -60,6 +63,11 @@ export default struct BottomBtn {
|
||||
*/
|
||||
onHangUp() {
|
||||
this.mCallServiceProxy.hangUpCall(this.callData.callId);
|
||||
if (this.callList.length === 1) {
|
||||
globalThis.calluiAbilityContext?.terminateSelf().then((data) => {
|
||||
LogUtils.i(TAG, "onHangUp terminateSelfCallBack");
|
||||
});
|
||||
}
|
||||
LogUtils.i(TAG, "onHangUp this.callData.callId : " + this.callData.callId);
|
||||
}
|
||||
|
||||
|
@ -20,17 +20,17 @@
|
||||
import CallStateConst from '../constant/CallStateConst';
|
||||
import CallServiceProxy from '../../model/CallServiceProxy';
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
import GlobalThisHelper from '../utils/GlobalThisHelper'
|
||||
import Constants from '../utils/Constants'
|
||||
import DefaultCallData from '../struct/TypeUtils';
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
import CallTimeListStruct from '../struct/CallTimeListStruct'
|
||||
|
||||
const TAG = "CallList";
|
||||
|
||||
@Component
|
||||
export default struct CallList {
|
||||
@Link callList: Array<any>;
|
||||
@Link callData: any;
|
||||
@StorageLink("CallTimeList") callTimeList: any = [];
|
||||
|
||||
@Link callList: Array<CallListStruct>;
|
||||
@Link callData: DefaultCallData;
|
||||
@StorageLink("CallTimeList") callTimeList: Array<CallTimeListStruct> = [];
|
||||
private mCallStateConst: CallStateConst;
|
||||
private mCallServiceProxy: CallServiceProxy;
|
||||
|
||||
@ -93,7 +93,7 @@ export default struct CallList {
|
||||
LogUtils.i(TAG, "onHangUp : " + callId);
|
||||
this.mCallServiceProxy.hangUpCall(callId);
|
||||
if (this.callList.length === 1) {
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.terminateSelf().then((data) => {
|
||||
globalThis.calluiAbilityContext?.terminateSelf().then((data) => {
|
||||
LogUtils.i(TAG, "onHangUp terminateSelfCallBack");
|
||||
});
|
||||
}
|
||||
@ -115,6 +115,17 @@ export default struct CallList {
|
||||
});
|
||||
}
|
||||
|
||||
getInComingCallState() {
|
||||
let incomingState = false;
|
||||
this.callList.forEach((v) => {
|
||||
if (v.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING || v.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
incomingState = true;
|
||||
}
|
||||
});
|
||||
LogUtils.i(TAG, "getInComingCallState incomingState:" + JSON.stringify(incomingState));
|
||||
return incomingState;
|
||||
}
|
||||
|
||||
build() {
|
||||
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center }) {
|
||||
List() {
|
||||
@ -146,8 +157,7 @@ export default struct CallList {
|
||||
.opacity(0.60)
|
||||
}
|
||||
|
||||
if (this.callState() === CallStateConst.callStateObj.CALL_STATUS_WAITING
|
||||
|| this.callState() === CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
if (this.getInComingCallState()) {
|
||||
Image($r("app.media.ic_hangup_list"))
|
||||
.width(30)
|
||||
.height(30)
|
||||
@ -171,11 +181,11 @@ export default struct CallList {
|
||||
.margin({ left: 24, right: 24 })
|
||||
.width("100%")
|
||||
.listDirection(Axis.Vertical)
|
||||
|
||||
Divider()
|
||||
.color($r('app.color.divider_calllist'))
|
||||
.strokeWidth(1)
|
||||
}
|
||||
.height(128)
|
||||
|
||||
.height(128)
|
||||
}
|
||||
}
|
@ -20,6 +20,9 @@ import LogUtils from '../utils/LogUtils';
|
||||
import callStateConst from '../constant/CallStateConst';
|
||||
import Utils from '../utils/utils'
|
||||
import CallUtils from '../utils/CallUtils'
|
||||
import DefaultCallData from '../struct/TypeUtils'
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
import CallTimeListStruct from '../struct/CallTimeListStruct'
|
||||
|
||||
const TAG = "contactCard";
|
||||
|
||||
@ -28,11 +31,11 @@ export default struct ContactCard {
|
||||
@State callStateText: string = '';
|
||||
@State dialing: string = '.';
|
||||
@Prop isShowKeyboard: boolean;
|
||||
@Link callList: Array<any>;
|
||||
@Link callData: any;
|
||||
@Link callList: Array<CallListStruct>;
|
||||
@Link callData: DefaultCallData;
|
||||
@StorageLink("TextInput") textInput: string = '';
|
||||
@StorageLink("TextInputValue") textInputValue: string = '';
|
||||
@StorageLink("CallTimeList") callTimeList: any = [];
|
||||
@StorageLink("CallTimeList") callTimeList: Array<CallTimeListStruct> = [];
|
||||
@StorageLink("AccountNumber") accountNumber: string = '';
|
||||
@StorageLink("IsEmergencyPhoneNumber") isEmergencyPhoneNumber: boolean = false;
|
||||
@StorageLink("hasSimCard1") hasSimCard1: boolean = false;
|
||||
|
@ -15,19 +15,24 @@
|
||||
|
||||
import CallServiceProxy from "../../model/CallServiceProxy";
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
import DefaultCallData from '../struct/TypeUtils';
|
||||
|
||||
const TAG = "DtmfBtn";
|
||||
class DataListStruct {
|
||||
value
|
||||
sign
|
||||
}
|
||||
|
||||
@Component
|
||||
export default struct DtmfBtn {
|
||||
@State color: string = "rgba(255, 255, 255, 0)";
|
||||
@State subStr:string = '';
|
||||
@Link dataList: any;
|
||||
@Link dataList: Array<DataListStruct>;
|
||||
@Link textInput: string;
|
||||
@Link textInputValue: string;
|
||||
private item: any;
|
||||
private item: DataListStruct;
|
||||
private mCallServiceProxy;
|
||||
callData :any;
|
||||
callData: DefaultCallData;
|
||||
|
||||
public aboutToAppear(): void {
|
||||
this.mCallServiceProxy = new CallServiceProxy();
|
||||
|
@ -21,10 +21,21 @@ import Clone from '../utils/Clone';
|
||||
import BtnGroupConfig from '../configs/BtnGroupConfig';
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
import screenLock from '@ohos.screenLock';
|
||||
import GlobalThisHelper from '../utils/GlobalThisHelper';
|
||||
import Constants from '../utils/Constants';
|
||||
import DefaultCallData from '../struct/TypeUtils'
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
import FunctonBtnVM from '../../viewmodel/FunctonBtnVIewModel';
|
||||
|
||||
const TAG = 'FuncBtnGroup';
|
||||
|
||||
class BtnStruct {
|
||||
type
|
||||
iconDisableUrl
|
||||
iconDefaultUrl
|
||||
iconActiveUrl
|
||||
isDisable
|
||||
isActive
|
||||
iconText
|
||||
}
|
||||
const textMap =
|
||||
{
|
||||
'record': $r('app.string.recording'),
|
||||
@ -39,16 +50,17 @@ const textMap =
|
||||
|
||||
@Component
|
||||
export default struct FuncBtnGroup {
|
||||
@Link @Watch("updateBtnList") callData: any;
|
||||
@Link @Watch("updateBtnList") callList: Array<any>;
|
||||
@Link @Watch("updateBtnList") callData: DefaultCallData;
|
||||
@Link @Watch("updateBtnList") callList: Array<CallListStruct>;
|
||||
@State count: number = 0;
|
||||
@State btnList: Array<any> = [];
|
||||
@State btnList: Array<BtnStruct> = [];
|
||||
@State m: number = 0;
|
||||
@State n: number = 0;
|
||||
@State oldCallState: any = CallStateConst.CALL_STATUS_IDLE;
|
||||
@State oldCallState: number = CallStateConst.CALL_STATUS_IDLE;
|
||||
@State mFunctonBtnVM: FunctonBtnVM = FunctonBtnVM.getInstance();
|
||||
private mCallServiceProxy: CallServiceProxy;
|
||||
private mBtnGroupConfig = BtnGroupConfig;
|
||||
private timer: any = null;
|
||||
private timer: number = null;
|
||||
private mClone: Clone;
|
||||
private btnListCall;
|
||||
private btnListDialing;
|
||||
@ -110,7 +122,7 @@ export default struct FuncBtnGroup {
|
||||
*/
|
||||
onCallStateChange(newVal) {
|
||||
LogUtils.i(TAG, "Calling status changed newState : " + JSON.stringify(newVal));
|
||||
const BtnName = ['video', 'record', 'add', 'contact']
|
||||
const BtnName = ['video', 'record', 'add', 'contact', 'merge']
|
||||
if (newVal === CallStateConst.CALL_STATUS_ACTIVE || newVal === CallStateConst.CALL_STATUS_HOLDING) {
|
||||
this.btnList.forEach((item) => {
|
||||
if (!Method.includes(BtnName, (item.type))) {
|
||||
@ -206,7 +218,7 @@ export default struct FuncBtnGroup {
|
||||
}
|
||||
|
||||
startContactAbility(pageFlag) {
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.startAbility({
|
||||
globalThis.calluiAbilityContext?.startAbility({
|
||||
bundleName: 'com.ohos.contacts',
|
||||
abilityName: 'com.ohos.contacts.MainAbility',
|
||||
parameters: {
|
||||
|
@ -22,12 +22,12 @@ import sms from '@ohos.telephony.sms';
|
||||
import resourceManager from '@ohos.resourceManager';
|
||||
import prompt from '@system.prompt';
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
import GlobalThisHelper from '../utils/GlobalThisHelper';
|
||||
import Constants from '../utils/Constants';
|
||||
import DefaultCallData from '../struct/TypeUtils';
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
|
||||
|
||||
const TAG = "IncomingCom";
|
||||
const SMS_REJECTION = `${ImagePathConst.BASE_URL}ic_public_message.svg`;
|
||||
const SMS_REMINDER = `${ImagePathConst.BASE_URL}remindDisabled.png`;
|
||||
|
||||
/**
|
||||
* SMS sent successfully
|
||||
@ -51,7 +51,8 @@ const SEND_SMS_FAILURE_SERVICE_UNAVAILABLE = 3;
|
||||
|
||||
@Component
|
||||
export default struct IncomingCom {
|
||||
@Link callData: any;
|
||||
@Link callList: Array<CallListStruct>;
|
||||
@Link callData: DefaultCallData;
|
||||
private btnList = [];
|
||||
private msgList = [];
|
||||
mCallServiceProxy: CallServiceProxy = null;
|
||||
@ -85,10 +86,10 @@ export default struct IncomingCom {
|
||||
* @param obj
|
||||
*/
|
||||
private sendMessage(obj) {
|
||||
let slotId = this.callData.accountId
|
||||
let slotId = this.callData.accountId;
|
||||
let destinationHost = this.callData.accountNumber
|
||||
let contactName = this.callData.contactName
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.resourceManager.getString(obj.msg.id, (err, typeName) => {
|
||||
globalThis.calluiAbilityContext?.resourceManager.getString(obj.msg.id, (err, typeName) => {
|
||||
LogUtils.i(TAG, "sendMessage");
|
||||
sms.sendMessage({
|
||||
slotId: slotId,
|
||||
@ -99,7 +100,7 @@ export default struct IncomingCom {
|
||||
return;
|
||||
}
|
||||
if (sendResult.result === SEND_SMS_SUCCESS) {
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.resourceManager.getString($r("app.string.SMS_Sent")
|
||||
globalThis.calluiAbilityContext?.resourceManager.getString($r("app.string.SMS_Sent")
|
||||
.id, (err, typeName) => {
|
||||
if (err) {
|
||||
return;
|
||||
@ -110,7 +111,7 @@ export default struct IncomingCom {
|
||||
});
|
||||
})
|
||||
} else {
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.resourceManager.getString($r("app.string.message_Failed").id, (err, typeName) => {
|
||||
globalThis.calluiAbilityContext?.resourceManager.getString($r("app.string.message_Failed").id, (err, typeName) => {
|
||||
if (err) {
|
||||
return;
|
||||
}
|
||||
@ -155,7 +156,6 @@ export default struct IncomingCom {
|
||||
iconDisableUrl: SMS_REJECTION,
|
||||
isDisable: false
|
||||
},
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
@ -174,6 +174,10 @@ export default struct IncomingCom {
|
||||
* Handling interface call hangup and rejection
|
||||
*/
|
||||
private async onReject() {
|
||||
const incomingData = this.callList.find((v) => v.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING || v.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING);
|
||||
Object.assign(this.callData, {
|
||||
...incomingData
|
||||
});
|
||||
const {callId, callState} = this.callData;
|
||||
if (callState !== CallStateConst.CALL_STATUS_WAITING) {
|
||||
this.mCallServiceProxy.rejectCall(callId);
|
||||
@ -199,7 +203,12 @@ export default struct IncomingCom {
|
||||
*/
|
||||
private onAnswer() {
|
||||
LogUtils.i(TAG, "onAnswer :");
|
||||
this.mCallServiceProxy.acceptCall(this.callData.callId);
|
||||
const incomingData = this.callList.find((v) => v.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING || v.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING);
|
||||
if (incomingData !== undefined) {
|
||||
this.mCallServiceProxy.acceptCall(incomingData.callId);
|
||||
} else {
|
||||
this.mCallServiceProxy.acceptCall(this.callData.callId);
|
||||
}
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -15,15 +15,20 @@
|
||||
|
||||
import CallServiceProxy from '../../model/CallServiceProxy';
|
||||
import DtmfBtn from '../components/DtmfBtn';
|
||||
import DefaultCallData from '../struct/TypeUtils';
|
||||
|
||||
class DataListStruct {
|
||||
value
|
||||
sign
|
||||
}
|
||||
const TAG = "Keyboard";
|
||||
|
||||
@Component
|
||||
export default struct Keyboard {
|
||||
@Link callData: any;
|
||||
@Link callData: DefaultCallData;
|
||||
@StorageLink("TextInput") textInput: string = '';
|
||||
@StorageLink("TextInputValue") textInputValue: string = '';
|
||||
@State dataList: any =
|
||||
@State dataList: Array<DataListStruct> =
|
||||
[
|
||||
{
|
||||
value: '1',
|
||||
|
@ -22,6 +22,9 @@ import Utils from '../utils/utils'
|
||||
import CallList from './CallList'
|
||||
import callStateConst from '../constant/CallStateConst';
|
||||
import CallUtils from '../utils/CallUtils'
|
||||
import DefaultCallData from '../struct/TypeUtils'
|
||||
import CallListStruct from '../struct/CallListStruct'
|
||||
import CallTimeListStruct from '../struct/CallTimeListStruct'
|
||||
|
||||
const TAG = "MultiContactCard";
|
||||
|
||||
@ -30,15 +33,18 @@ export default struct MultiContactCard {
|
||||
@State callStateText: string = '';
|
||||
@State dialing: string = '.';
|
||||
@Prop isShowKeyboard: boolean;
|
||||
@Link callList: Array<any>;
|
||||
@Link callData: any;
|
||||
@Link callList: Array<CallListStruct>;
|
||||
@Link callData: DefaultCallData;
|
||||
@Link incomingData: DefaultCallData;
|
||||
@StorageLink("TextInput") textInput: string = '';
|
||||
@StorageLink("TextInputValue") textInputValue: string = '';
|
||||
@StorageLink("CallTimeList") callTimeList: any = [];
|
||||
@StorageLink("CallTimeList") callTimeList: Array<CallTimeListStruct> = [];
|
||||
@StorageLink("AccountNumber") accountNumber: string = '';
|
||||
@StorageLink("IsEmergencyPhoneNumber") isEmergencyPhoneNumber: boolean = false;
|
||||
@StorageLink("hasSimCard1") hasSimCard1: boolean = false;
|
||||
@StorageLink("hasSimCard2") hasSimCard2: boolean = false;
|
||||
@State multiContactName: string = '';
|
||||
@State multiContactNumber: string = '';
|
||||
private mUtils: Utils;
|
||||
private timer;
|
||||
private emergency = $r('app.string.emergency');
|
||||
@ -67,6 +73,20 @@ export default struct MultiContactCard {
|
||||
|| this.callData.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING) && this.hasSimCard1 && this.hasSimCard2;
|
||||
}
|
||||
|
||||
getInComingCallState() {
|
||||
let incomingState = false;
|
||||
this.callList.forEach((v) => {
|
||||
if (v.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING || v.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
this.incomingData = v;
|
||||
this.multiContactName = v.contactName;
|
||||
this.multiContactNumber = v.accountNumber;
|
||||
incomingState = true;
|
||||
}
|
||||
});
|
||||
LogUtils.i(TAG, "getInComingCallState incomingState:" + JSON.stringify(incomingState));
|
||||
return incomingState;
|
||||
}
|
||||
|
||||
build() {
|
||||
GridRow({ columns: { sm: 4, md: 8, lg: 12 }, gutter: 24 }) {
|
||||
GridCol({ span: { sm: 4, md: 6, lg: 6 }, offset: { md: 1, lg: 3 } }) {
|
||||
@ -77,11 +97,10 @@ export default struct MultiContactCard {
|
||||
callData: $callData
|
||||
})
|
||||
|
||||
if (this.callData.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING
|
||||
|| this.callData.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
if (this.getInComingCallState()) {
|
||||
Column() {
|
||||
if (!this.isShowKeyboard || this.isShowKeyboard && this.textInput.length === 0) {
|
||||
Text(this.isEmergencyPhoneNumber ? this.emergency : this.callData.contactName ? this.callData.contactName : this.callData.accountNumber)
|
||||
Text(this.isEmergencyPhoneNumber ? this.emergency : this.multiContactName ? this.multiContactName : this.multiContactNumber)
|
||||
.fontSize(30)
|
||||
.height(40)
|
||||
.lineHeight(40)
|
||||
@ -89,13 +108,13 @@ export default struct MultiContactCard {
|
||||
.fontColor('#FFFFFF')
|
||||
.margin({ bottom: 8 })
|
||||
|
||||
Text((this.callData.contactName || this.isEmergencyPhoneNumber) ? this.callData.accountNumber : '')
|
||||
Text((this.multiContactName || this.isEmergencyPhoneNumber) ? this.multiContactNumber : '')
|
||||
.fontSize(14)
|
||||
.height(19)
|
||||
.lineHeight(19)
|
||||
.fontColor('#FFFFFF')
|
||||
.opacity(0.60)
|
||||
.visibility((this.callData.contactName || this.isEmergencyPhoneNumber) && !this.isShowKeyboard ? Visibility.Visible : Visibility.None)
|
||||
.visibility((this.multiContactName || this.isEmergencyPhoneNumber) && !this.isShowKeyboard ? Visibility.Visible : Visibility.None)
|
||||
}
|
||||
}
|
||||
.margin({ top: 56 })
|
||||
|
@ -91,7 +91,7 @@ const secondBtns = [
|
||||
iconDisableUrl: 'ic_merge_Grey',
|
||||
iconDefaultUrl: 'ic_merge',
|
||||
iconActiveUrl: 'ic_merge_Enabled',
|
||||
isDisable: false,
|
||||
isDisable: true,
|
||||
isActive: false,
|
||||
iconText: ''
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*
|
||||
/**
|
||||
* Copyright (c) 2023 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.
|
||||
@ -13,15 +13,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file: SIM card,mobile data,Card Status,Operators so
|
||||
*/
|
||||
|
||||
import sim from '@ohos.telephony.sim';
|
||||
import telephonyData from '@ohos.telephony.data';
|
||||
import observer from '@ohos.telephony.observer';
|
||||
import radio from '@ohos.telephony.radio';
|
||||
|
||||
export { sim, telephonyData, radio, observer };
|
||||
|
||||
|
||||
export default class DeviceTypeConst {
|
||||
//DEVICE_EARPIECE
|
||||
public static DEVICE_EARPIECE = 0;
|
||||
//DEVICE_SPEAKER
|
||||
public static DEVICE_SPEAKER = 1;
|
||||
//DEVICE_WIRED_HEADSET
|
||||
public static DEVICE_WIRED_HEADSET = 2;
|
||||
//DEVICE_BLUETOOTH_SCO
|
||||
public static DEVICE_BLUETOOTH_SCO = 3;
|
||||
}
|
13
entry/src/main/ets/common/struct/CallListStruct.ets
Normal file
@ -0,0 +1,13 @@
|
||||
export default class DefaultCallData {
|
||||
accountNumber
|
||||
videoState
|
||||
callType
|
||||
callState
|
||||
callId
|
||||
startTime
|
||||
accountId
|
||||
isEcc
|
||||
conferenceState
|
||||
oldCallState
|
||||
contactName
|
||||
}
|
6
entry/src/main/ets/common/struct/CallTimeListStruct.ets
Normal file
@ -0,0 +1,6 @@
|
||||
export default class CallTimeListStruct {
|
||||
callId
|
||||
callTime
|
||||
startTimestamp
|
||||
endTimestamp
|
||||
}
|
12
entry/src/main/ets/common/struct/TypeUtils.ets
Normal file
@ -0,0 +1,12 @@
|
||||
export default class DefaultCallData {
|
||||
callId
|
||||
callState
|
||||
accountNumber: string
|
||||
videoState: number
|
||||
callType: number
|
||||
conferenceState: number
|
||||
contactName: string
|
||||
accountId: number
|
||||
isEcc: number
|
||||
startTime: number
|
||||
}
|
@ -22,8 +22,6 @@ export class Constants {
|
||||
public CALL_ABILITY_NAME = 'com.ohos.callui.MainAbility';
|
||||
public GLOBALTHIS_CALLMANAGER = 'callManager';
|
||||
public GLOBALTHIS_ABILITY_WANT = 'abilityWant';
|
||||
public GLOBALTHIS_CONTEXT = 'calluiAbilityContext';
|
||||
public GLOBALTHIS_APPINACTIVE_STATE = 'appInactiveState';
|
||||
}
|
||||
|
||||
let mConstants = new Constants();
|
||||
|
@ -1,35 +0,0 @@
|
||||
import LogUtils from '../utils/LogUtils'
|
||||
|
||||
const TAG = "GlobalThisHelper"
|
||||
|
||||
export default class GlobalThisHelper {
|
||||
private static registerKeys = [
|
||||
"calluiAbilityContext",
|
||||
"callManager",
|
||||
"aaa",
|
||||
'abilityWant',
|
||||
'appInactiveState'
|
||||
];
|
||||
|
||||
public static set<T>(key: string, value: T) : T {
|
||||
const element = GlobalThisHelper.registerKeys.find((ele) => ele === key);
|
||||
if (element === undefined) {
|
||||
LogUtils.i(TAG, "Cant't find register key: " + JSON.stringify(key))
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if (!globalThis[key]) {
|
||||
globalThis[key] = value;
|
||||
}
|
||||
LogUtils.i(TAG, "GlobalThisHelper.set succeed, key:" + JSON.stringify(key));
|
||||
return globalThis[key];
|
||||
}
|
||||
|
||||
public static get<T>(key: string): T{
|
||||
if (!globalThis[key]) {
|
||||
LogUtils.i(TAG, "the key is not exist, key" + JSON.stringify(key));
|
||||
return undefined;
|
||||
}
|
||||
return (globalThis[key] as T);
|
||||
}
|
||||
}
|
@ -21,18 +21,19 @@ import CallStateConst from '../common/constant/CallStateConst';
|
||||
import ContactManager from './ContactManager';
|
||||
import NotificationManager from '../model/NotificationManager';
|
||||
import LogUtils from '../common/utils/LogUtils';
|
||||
import GlobalThisHelper from '../common/utils/GlobalThisHelper';
|
||||
import Constants from '../common/utils/Constants';
|
||||
import CallTimeListStruct from '../common/struct/CallTimeListStruct';
|
||||
import CallListStruct from '../common/struct/CallListStruct';
|
||||
import DefaultCallData from '../common/struct/TypeUtils';
|
||||
|
||||
const TAG = "CallDataManager";
|
||||
/**
|
||||
* class CallDataManager
|
||||
*/
|
||||
export default class CallDataManager {
|
||||
callData: any = {};
|
||||
callList: any = [];
|
||||
callTimeList: any = [];
|
||||
private callStateChange: any;
|
||||
callData: DefaultCallData = new DefaultCallData();
|
||||
callList: Array<CallListStruct> = [];
|
||||
callTimeList: Array<CallTimeListStruct> = [];
|
||||
private callStateChange: Function;
|
||||
private mCallStateManager: CallStateManager ;
|
||||
private NotificationManager;
|
||||
private contactManager;
|
||||
@ -52,9 +53,36 @@ export default class CallDataManager {
|
||||
this.NotificationManager = new NotificationManager();
|
||||
this.contactManager = new ContactManager();
|
||||
this.mCallStateManager = CallStateManager.getInstance()
|
||||
this.callData = callData;
|
||||
this.callList = callList;
|
||||
this.callTimeList = callTimeList;
|
||||
if (this.callData) {
|
||||
this.callData = callData;
|
||||
} else {
|
||||
let oldCallData = this.callData;
|
||||
this.callData = callData;
|
||||
Object.assign(this.callData, {
|
||||
...oldCallData
|
||||
});
|
||||
}
|
||||
if (this.callList.length === 0) {
|
||||
LogUtils.i(TAG, "init callList: undefined");
|
||||
this.callList = callList;
|
||||
} else {
|
||||
let oldCallList = this.callList;
|
||||
this.callList = callList;
|
||||
Object.assign(this.callList, {
|
||||
...oldCallList
|
||||
});
|
||||
}
|
||||
if (this.callTimeList.length === 0) {
|
||||
LogUtils.i(TAG, "init callTimeList: undefined");
|
||||
this.callTimeList = callTimeList;
|
||||
} else {
|
||||
LogUtils.i(TAG, "init callTimeList else : " + JSON.stringify(this.callTimeList));
|
||||
let oldCallTimeList = this.callTimeList;
|
||||
this.callTimeList = callTimeList;
|
||||
Object.assign(this.callTimeList, {
|
||||
...oldCallTimeList
|
||||
});
|
||||
}
|
||||
this.callStateChange = (arg) => arg;
|
||||
this.mCallStateManager = new CallStateManager(this.callData);
|
||||
}
|
||||
@ -74,7 +102,7 @@ export default class CallDataManager {
|
||||
...callData
|
||||
});
|
||||
if (oldCallState != callState) {
|
||||
AppStorage.Get<NotificationManager>('notificationManager').sendCapsuleNotification(callData, GlobalThisHelper.get<boolean>(Constants.GLOBALTHIS_APPINACTIVE_STATE));
|
||||
AppStorage.Get<NotificationManager>('notificationManager').sendCapsuleNotification(callData, globalThis.appInactiveState);
|
||||
}
|
||||
} else {
|
||||
this.addCallList({
|
||||
@ -106,7 +134,7 @@ export default class CallDataManager {
|
||||
this.NotificationManager.cancelNotification();
|
||||
AppStorage.Get<NotificationManager>('notificationManager').sendCapsuleNotification(callData, true);
|
||||
AppStorage.Delete("CallTimeList");
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.terminateSelf().then((data) => {
|
||||
globalThis.calluiAbilityContext?.terminateSelf().then((data) => {
|
||||
LogUtils.i(TAG, "calluiAbility terminateSelf");
|
||||
});
|
||||
} else {
|
||||
@ -115,14 +143,23 @@ export default class CallDataManager {
|
||||
if (activeCallData) {
|
||||
this.mCallStateManager.update(activeCallData);
|
||||
this.callStateChange(activeCallData);
|
||||
this.sendNotification(activeCallData);
|
||||
} else if (this.callList[0]) {
|
||||
this.mCallStateManager.update(this.callList[0]);
|
||||
this.callStateChange(this.callList[0].callState);
|
||||
this.sendNotification(this.callList[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendNotification(callData) {
|
||||
if (globalThis.appInactiveState && callData) {
|
||||
AppStorage.Get<NotificationManager>('notificationManager')?.sendNotification(callData);
|
||||
AppStorage.Get<NotificationManager>('notificationManager')?.sendCapsuleNotification(callData, globalThis.appInactiveState);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Judge whether the call exists.
|
||||
*/
|
||||
@ -137,16 +174,18 @@ export default class CallDataManager {
|
||||
* Judge whether the call exists.
|
||||
*/
|
||||
public hasActiveCall(): boolean {
|
||||
return this.callList.find((call) => call.callState === CallStateConst.CALL_STATUS_ACTIVE
|
||||
|| call.callState === CallStateConst.CALL_STATUS_HOLDING);
|
||||
const callData = this.callList.find((call) => (call.callState === CallStateConst.CALL_STATUS_ACTIVE
|
||||
|| call.callState === CallStateConst.CALL_STATUS_HOLDING));
|
||||
return callData !== undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
* Judge whether the call is active or holding.
|
||||
*/
|
||||
public isActiveCall(callId): boolean {
|
||||
return this.callList.find((call) => call.callId === callId && (call.callState === CallStateConst.CALL_STATUS_ACTIVE
|
||||
const callData = this.callList.find((call) => call.callId === callId && (call.callState === CallStateConst.CALL_STATUS_ACTIVE
|
||||
|| call.callState === CallStateConst.CALL_STATUS_HOLDING));
|
||||
return callData !== undefined;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -23,8 +23,8 @@ import CallServiceProxy from './CallServiceProxy';
|
||||
import LogUtils from '../common/utils/LogUtils'
|
||||
import call from '@ohos.telephony.call';
|
||||
import CallStateConst from '../common/constant/CallStateConst';
|
||||
import GlobalThisHelper from '../common/utils/GlobalThisHelper'
|
||||
import Constants from '../common/utils/Constants'
|
||||
import DefaultCallData from '../common/struct/TypeUtils';
|
||||
import CallListStruct from '../common/struct/CallListStruct';
|
||||
|
||||
const TAG = "CallManager";
|
||||
const TIMING = 1000;
|
||||
@ -33,11 +33,12 @@ const TIMING = 1000;
|
||||
* class CallManager
|
||||
*/
|
||||
export default class CallManager {
|
||||
private callData: any = {};
|
||||
private callData: DefaultCallData = new DefaultCallData();
|
||||
private callList: Array<CallListStruct> = [];
|
||||
private timer = null ;
|
||||
callTimeList = [];
|
||||
private ctx = [];
|
||||
private sendNotificationHandle: any;
|
||||
private sendNotificationHandle: Function;
|
||||
private mCallDataManager: CallDataManager;
|
||||
private mCallServiceProxy: CallServiceProxy ;
|
||||
private mUtils: Utils;
|
||||
@ -45,10 +46,10 @@ export default class CallManager {
|
||||
private mTimeMeter
|
||||
|
||||
public static getInstance(): CallManager {
|
||||
if (GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CALLMANAGER) === undefined) {
|
||||
GlobalThisHelper.set<any>(Constants.GLOBALTHIS_CALLMANAGER, new CallManager());
|
||||
if (!globalThis.callManager) {
|
||||
globalThis.callManager = new CallManager();
|
||||
}
|
||||
return GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CALLMANAGER);
|
||||
return globalThis.callManager;
|
||||
}
|
||||
|
||||
private constructor() {
|
||||
@ -57,9 +58,9 @@ export default class CallManager {
|
||||
this.timer = null;
|
||||
this.mCallDataManager = CallDataManager.getInstance();
|
||||
}
|
||||
|
||||
init(ctx) {
|
||||
this.callData = ctx.callData;
|
||||
this.timer = null;
|
||||
this.ctx = ctx;
|
||||
this.callTimeList = ctx.callTimeList;
|
||||
this.mCallDataManager?.init(ctx.callData, ctx.callList, ctx.callTimeList);
|
||||
@ -72,10 +73,8 @@ export default class CallManager {
|
||||
* init CallData
|
||||
*/
|
||||
private initCallData() {
|
||||
if (!GlobalThisHelper.get<any>(Constants.GLOBALTHIS_ABILITY_WANT)
|
||||
&& GlobalThisHelper.get<any>(Constants.GLOBALTHIS_ABILITY_WANT)?.parameters
|
||||
&& ('callState' in GlobalThisHelper.get<any>(Constants.GLOBALTHIS_ABILITY_WANT)?.parameters)) {
|
||||
let callData = this.getCallDataFromWant(GlobalThisHelper.get<any>(Constants.GLOBALTHIS_ABILITY_WANT).parameters);
|
||||
if (globalThis.abilityWant && globalThis.abilityWant.parameters && ('callState' in globalThis.abilityWant.parameters)) {
|
||||
let callData = this.getCallDataFromWant(globalThis.abilityWant.parameters);
|
||||
this.update(callData);
|
||||
LogUtils.i(TAG, "initCallData featureAbility.getWant :")
|
||||
} else {
|
||||
@ -111,8 +110,8 @@ export default class CallManager {
|
||||
LogUtils.i(TAG, "update calldata:")
|
||||
if (this.callData != undefined && this.callData.callId === callData.callId) {
|
||||
const { callState } = this.callData;
|
||||
if (callState === 6) {
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.terminateSelf().then((data) => {
|
||||
if (callState === 6 && this.callList.length === 1) {
|
||||
globalThis.calluiAbilityContext?.terminateSelf().then((data) => {
|
||||
LogUtils.i(TAG, "calluiAbility terminateSelf because service disconnected");
|
||||
});
|
||||
return;
|
||||
@ -121,14 +120,17 @@ export default class CallManager {
|
||||
this.callData = callData;
|
||||
this.mCallDataManager.update(callData);
|
||||
call.formatPhoneNumber(callData.accountNumber, (err, data) => {
|
||||
if (data === undefined) {
|
||||
AppStorage.SetOrCreate("AccountNumber", callData.accountNumber)
|
||||
if (err) {
|
||||
LogUtils.i(TAG, "updata calldata formatPhoneNumber err:" + JSON.stringify(err));
|
||||
} else if (data === undefined) {
|
||||
AppStorage.SetOrCreate("AccountNumber", callData.accountNumber);
|
||||
} else {
|
||||
AppStorage.SetOrCreate("AccountNumber", data)
|
||||
LogUtils.i(TAG, "updata calldata formatPhoneNumber success:" + JSON.stringify(data));
|
||||
AppStorage.SetOrCreate("AccountNumber", data);
|
||||
}
|
||||
});
|
||||
CallUtils.isEmergencyPhoneNumber(callData.accountNumber)
|
||||
LogUtils.i(TAG, "update :")
|
||||
CallUtils.isEmergencyPhoneNumber(callData.accountNumber);
|
||||
LogUtils.i(TAG, "update :");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -167,7 +169,7 @@ export default class CallManager {
|
||||
openTimer() {
|
||||
this.timer = setInterval(() => {
|
||||
this.updateCallTimeList();
|
||||
if (this.callData.callState === CallStateConst.CALL_STATUS_ACTIVE) {
|
||||
if (this.callData.callState === CallStateConst.CALL_STATUS_ACTIVE && this.callList.length === 1) {
|
||||
clearInterval(this.timer);
|
||||
}
|
||||
}, TIMING);
|
||||
|
@ -20,8 +20,6 @@ import dataShare from '@ohos.data.dataShare';
|
||||
import dataSharePredicates from '@ohos.data.dataSharePredicates';
|
||||
import LogUtils from '../common/utils/LogUtils';
|
||||
import CallManager from '../model/CallManager';
|
||||
import GlobalThisHelper from '../common/utils/GlobalThisHelper';
|
||||
import Constants from '../common/utils/Constants';
|
||||
|
||||
const TAG = "ContactManager";
|
||||
const DBbaseUri = 'datashare:///com.ohos.contactsdataability';
|
||||
@ -45,16 +43,19 @@ export default class ContactManager {
|
||||
const predicates = new dataSharePredicates.DataSharePredicates();
|
||||
predicates.equalTo('detail_info', callData.accountNumber);
|
||||
predicates.equalTo('is_deleted', 0);
|
||||
const dataAbilityHelper = await dataShare.createDataShareHelper(GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT), DBbaseUri);
|
||||
let context = globalThis.calluiAbilityContext;
|
||||
const dataAbilityHelper = await dataShare.createDataShareHelper(context, DBbaseUri);
|
||||
const resSet = await dataAbilityHelper.query(DBUri, predicates, columns);
|
||||
LogUtils.i(TAG, "getContactInfo resSet : " + JSON.stringify(resSet.rowCount))
|
||||
LogUtils.i(TAG, "getContactInfo resSet : " + JSON.stringify(resSet.rowCount));
|
||||
if (resSet.rowCount > 0) {
|
||||
resSet.goToFirstRow();
|
||||
callData.contactName = resSet.getString(resSet.getColumnIndex('display_name'));
|
||||
CallManager.getInstance().update(callData);
|
||||
} else {
|
||||
callData.contactName = "";
|
||||
}
|
||||
CallManager.getInstance().update(callData);
|
||||
} catch (err) {
|
||||
LogUtils.i(TAG, "getContactInfo catch err : %s" + JSON.stringify(err))
|
||||
LogUtils.i(TAG, "getContactInfo catch err : %s" + JSON.stringify(err));
|
||||
}
|
||||
}
|
||||
}
|
@ -81,36 +81,34 @@ export default class NotificationManager {
|
||||
}
|
||||
notificationRequest.wantAgent = wantAgentObj;
|
||||
notificationRequest.actionButtons = [];
|
||||
|
||||
if (actionBtnKeys.length) {
|
||||
for (const key of actionBtnKeys) {
|
||||
const data = {
|
||||
callId, btnType: key
|
||||
};
|
||||
LogUtils.i(TAG, "sendNotification getResourceManager key:" + JSON.stringify(key));
|
||||
const wantAgentObj = await this.getWantAgent(data, SEND_COMMON_EVENT);
|
||||
GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)?.resourceManager.getString(textMap[key].id, (error, value) => {
|
||||
if (error != null) {
|
||||
LogUtils.i(TAG, "sendNotification getResourceManager getString err");
|
||||
} else {
|
||||
LogUtils.i(TAG, "sendNotification getResourceManager getString value" + value);
|
||||
notificationRequest.actionButtons.push({
|
||||
title: value,
|
||||
wantAgent: wantAgentObj
|
||||
});
|
||||
Object.assign(notificationRequest.content.longText, {
|
||||
title: titleName,
|
||||
text: expandedName,
|
||||
expandedTitle: titleName,
|
||||
longText: expandedName
|
||||
});
|
||||
notification.publish(notificationRequest).then((data) => {
|
||||
LogUtils.i(TAG, "sendNotification publish success")
|
||||
}).catch((err) => {
|
||||
LogUtils.i(TAG, "sendNotification public err" + JSON.stringify(err))
|
||||
});
|
||||
}
|
||||
const title = globalThis.calluiAbilityContext?.resourceManager.getStringSync(textMap[key]);
|
||||
LogUtils.i(TAG, "sendNotification getResourceManager textMap[key].id:" + JSON.stringify(title));
|
||||
notificationRequest.actionButtons.push({
|
||||
title: title,
|
||||
wantAgent: wantAgentObj
|
||||
});
|
||||
LogUtils.i(TAG, "sendNotification getResourceManager notificationRequest.actionButtons.push:" + JSON.stringify(notificationRequest.actionButtons));
|
||||
}
|
||||
}
|
||||
Object.assign(notificationRequest.content.longText, {
|
||||
title: titleName,
|
||||
text: expandedName,
|
||||
expandedTitle: titleName,
|
||||
longText: expandedName
|
||||
});
|
||||
notification.publish(notificationRequest).then((data) => {
|
||||
LogUtils.i(TAG, "sendNotification publish success")
|
||||
}).catch((err) => {
|
||||
LogUtils.i(TAG, "sendNotification public err" + JSON.stringify(err))
|
||||
});
|
||||
LogUtils.i(TAG, "sendNotification end :")
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,9 @@ import backgroundTaskManager from '@ohos.backgroundTaskManager';
|
||||
import Constants from '../common/utils/Constants';
|
||||
import CallDataManager from '../model/CallDataManager';
|
||||
import MultiContactCard from '../common/components/MultiContactCard';
|
||||
import GlobalThisHelper from '../common/utils/GlobalThisHelper';
|
||||
import DefaultCallData from '../common/struct/TypeUtils'
|
||||
import CallListStruct from '../common/struct/CallListStruct'
|
||||
import CallTimeListStruct from '../common/struct/CallTimeListStruct'
|
||||
|
||||
const TAG = "Index";
|
||||
|
||||
@ -39,14 +41,14 @@ const TAG = "Index";
|
||||
@Entry
|
||||
@Component
|
||||
struct Index {
|
||||
@StorageLink("InputNum") inputNum: any = [];
|
||||
@State callData: any = CallStateConst.defaultCallData;
|
||||
@State callData: DefaultCallData = new DefaultCallData();
|
||||
@State isShowKeyboard: boolean = false;
|
||||
@State callList: Array<any> = [];
|
||||
@State callTimeList: Array<any> = [];
|
||||
@State callList: Array<CallListStruct> = [];
|
||||
@State callTimeList: Array<CallTimeListStruct> = [];
|
||||
private notificationManager: NotificationManager;
|
||||
private mCallDataManager: CallDataManager;
|
||||
@State curBp: string = 'md';
|
||||
@State incomingData: DefaultCallData = new DefaultCallData();
|
||||
private smListener: mediaQuery.MediaQueryListener;
|
||||
private mdListener: mediaQuery.MediaQueryListener;
|
||||
private lgListener: mediaQuery.MediaQueryListener;
|
||||
@ -88,17 +90,17 @@ struct Index {
|
||||
onPageShow() {
|
||||
LogUtils.i(TAG, "onPageShow");
|
||||
byTrace.startTrace('onPageShow', 1);
|
||||
GlobalThisHelper.set<boolean>(Constants.GLOBALTHIS_APPINACTIVE_STATE, false);
|
||||
globalThis.appInactiveState = false;
|
||||
this.stopBackgroundRunning();
|
||||
this.notificationManager?.cancelNotification();
|
||||
this.notificationManager?.sendCapsuleNotification(this.callData, false);
|
||||
this.notificationManager?.sendCapsuleNotification(this.incomingData ? this.callData : this.incomingData, false);
|
||||
byTrace.finishTrace('onPageShow', 1);
|
||||
LogUtils.i(TAG, "onPageShow end");
|
||||
}
|
||||
|
||||
onPageHide() {
|
||||
LogUtils.i(TAG, "onPageHide");
|
||||
GlobalThisHelper.set<boolean>(Constants.GLOBALTHIS_APPINACTIVE_STATE, true);
|
||||
globalThis.appInactiveState = true;
|
||||
this.updateNotification();
|
||||
LogUtils.i(TAG, "onPageHide end");
|
||||
}
|
||||
@ -109,23 +111,25 @@ struct Index {
|
||||
if (this.mCallDataManager.hasAliveCall()) {
|
||||
this.startBackgroundRunning();
|
||||
}
|
||||
this.notificationManager?.sendNotification(this.callData);
|
||||
this.notificationManager?.sendCapsuleNotification(this.callData, true);
|
||||
this.notificationManager?.sendNotification(this.incomingData ? this.callData : this.incomingData);
|
||||
this.notificationManager?.sendCapsuleNotification(this.incomingData ? this.callData : this.incomingData, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
aboutToDisappear() {
|
||||
LogUtils.i(TAG, "aboutToDisappear");
|
||||
this.stopBackgroundRunning();
|
||||
this.updateNotification();
|
||||
this.smListener.off('change', this.isBreakpointSM);
|
||||
this.mdListener.off('change', this.isBreakpointMD);
|
||||
this.lgListener.off('change', this.isBreakpointLG);
|
||||
}
|
||||
|
||||
onBackPress() {
|
||||
LogUtils.i(TAG, "onBackPress");
|
||||
}
|
||||
|
||||
private stopBackgroundRunning() {
|
||||
backgroundTaskManager.stopBackgroundRunning(GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT)).then(() => {
|
||||
backgroundTaskManager.stopBackgroundRunning(globalThis.calluiAbilityContext).then(() => {
|
||||
LogUtils.i(TAG, "stopBackgroundRunning succeeded");
|
||||
}).catch((err) => {
|
||||
LogUtils.i(TAG, "stopBackgroundRunning failed");
|
||||
@ -135,16 +139,16 @@ struct Index {
|
||||
private startBackgroundRunning() {
|
||||
let wantAgentInfo = {
|
||||
wants: [{
|
||||
bundleName: Constants.CALL_BUNDLE_NAME,
|
||||
abilityName: Constants.CALL_ABILITY_NAME,
|
||||
}],
|
||||
bundleName: Constants.CALL_BUNDLE_NAME,
|
||||
abilityName: Constants.CALL_ABILITY_NAME,
|
||||
}],
|
||||
requestCode: 0,
|
||||
operationType: wantAgent.OperationType.START_ABILITY,
|
||||
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
|
||||
};
|
||||
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
|
||||
backgroundTaskManager.startBackgroundRunning(GlobalThisHelper.get<any>(Constants.GLOBALTHIS_CONTEXT),
|
||||
backgroundTaskManager.BackgroundMode.VOIP, wantAgentObj).then(() => {
|
||||
backgroundTaskManager.startBackgroundRunning(globalThis.calluiAbilityContext,
|
||||
backgroundTaskManager.BackgroundMode.VOIP, wantAgentObj).then(() => {
|
||||
LogUtils.i(TAG, "startBackgroundRunning succeeded")
|
||||
}).catch((err) => {
|
||||
LogUtils.i(TAG, "startBackgroundRunning failed cause:" + JSON.stringify(err))
|
||||
@ -182,6 +186,26 @@ struct Index {
|
||||
&& this.callList.length === 3;
|
||||
}
|
||||
|
||||
pageTransition() {
|
||||
PageTransitionEnter({ duration: 0 });
|
||||
PageTransitionExit({ duration: 0 });
|
||||
}
|
||||
|
||||
getBtnCallState() {
|
||||
if (this.callList.length > 1) {
|
||||
let btnState = true;
|
||||
this.callList.forEach((v) => {
|
||||
if (v.callState === CallStateConst.callStateObj.CALL_STATUS_WAITING || v.callState === CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
btnState = false;
|
||||
}
|
||||
});
|
||||
return btnState;
|
||||
} else {
|
||||
return this.callState() !== CallStateConst.callStateObj.CALL_STATUS_WAITING
|
||||
&& this.callState() !== CallStateConst.callStateObj.CALL_STATUS_INCOMING
|
||||
}
|
||||
}
|
||||
|
||||
build() {
|
||||
Flex({
|
||||
direction: FlexDirection.Column,
|
||||
@ -192,7 +216,8 @@ struct Index {
|
||||
MultiContactCard({
|
||||
callData: $callData,
|
||||
isShowKeyboard: this.isShowKeyboard,
|
||||
callList: $callList
|
||||
callList: $callList,
|
||||
incomingData: $incomingData
|
||||
})
|
||||
.margin({ top: this.isShowKeyboard ? 0 : 56 })
|
||||
.layoutWeight(this.isShowKeyboard ? 1 : 0)
|
||||
@ -206,8 +231,7 @@ struct Index {
|
||||
.layoutWeight(this.isShowKeyboard ? 1 : 0)
|
||||
}
|
||||
|
||||
if (this.callState() !== CallStateConst.callStateObj.CALL_STATUS_WAITING
|
||||
&& this.callState() !== CallStateConst.callStateObj.CALL_STATUS_INCOMING) {
|
||||
if (this.getBtnCallState()) {
|
||||
Column() {
|
||||
if (!this.isShowKeyboard) {
|
||||
FuncBtnGroup({ callData: $callData, callList: $callList })
|
||||
@ -218,6 +242,7 @@ struct Index {
|
||||
}
|
||||
BottomBtn({
|
||||
callData: $callData,
|
||||
callList: $callList,
|
||||
onItemClick: () => {
|
||||
this.showKeyboard()
|
||||
}
|
||||
@ -225,7 +250,9 @@ struct Index {
|
||||
}
|
||||
} else {
|
||||
Column() {
|
||||
IncomingCom({ callData: $callData })
|
||||
IncomingCom({
|
||||
callList: $callList,
|
||||
callData: $callData })
|
||||
|
||||
if (this.isTripleCall()) {
|
||||
Column() {
|
||||
|
19
entry/src/main/ets/viewmodel/FunctonBtnVIewModel.ets
Normal file
@ -0,0 +1,19 @@
|
||||
import BaseViewModel from './base/BaseViewModel';
|
||||
import LogUtils from '../common/utils/LogUtils';
|
||||
const TAG = 'FunctonBtnViewModel';
|
||||
|
||||
export default class FunctonBtnViewModel extends BaseViewModel{
|
||||
private static sFunctonBtnViewModel: FunctonBtnViewModel;
|
||||
public isMuted: boolean;
|
||||
public mMuteEnabledListener: (boolean) => void = (arg) => arg;
|
||||
public static getInstance(): FunctonBtnViewModel {
|
||||
if (!FunctonBtnViewModel.sFunctonBtnViewModel) {
|
||||
FunctonBtnViewModel.sFunctonBtnViewModel = new FunctonBtnViewModel();
|
||||
}
|
||||
return FunctonBtnViewModel.sFunctonBtnViewModel;
|
||||
}
|
||||
|
||||
public setMuteEnabled(isMuted) {
|
||||
this.isMuted = isMuted;
|
||||
}
|
||||
}
|
6
entry/src/main/ets/viewmodel/base/BaseViewModel.ets
Normal file
@ -0,0 +1,6 @@
|
||||
export default class BaseViewModel {
|
||||
constructor() {
|
||||
}
|
||||
aboutToAppear(): void {
|
||||
}
|
||||
}
|
@ -26,7 +26,8 @@
|
||||
"description": "$string:callui_description",
|
||||
"icon": "$media:app_icon",
|
||||
"label": "$string:callui_description",
|
||||
"startWindowIcon": "$media:app_icon",
|
||||
"supportWindowMode": ["fullscreen", "floating"],
|
||||
"startWindowIcon": "$media:app_start_window_icon",
|
||||
"startWindowBackground": "$color:black",
|
||||
"removeMissionAfterTerminate": true,
|
||||
"visible": true,
|
||||
@ -60,28 +61,36 @@
|
||||
],
|
||||
"requestPermissions": [
|
||||
{
|
||||
"name": "ohos.permission.READ_CONTACTS"
|
||||
"name": "ohos.permission.READ_CONTACTS",
|
||||
"reason": "$string:READ_CONTACTS"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.SEND_MESSAGES"
|
||||
"name": "ohos.permission.SEND_MESSAGES",
|
||||
"reason": "$string:SEND_MESSAGES"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
|
||||
"name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"reason": "$string:GET_BUNDLE_INFO_PRIVILEGED"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE",
|
||||
"reason": "$string:GET_TELEPHONY_STATE"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.NOTIFICATION_CONTROLLER"
|
||||
"name": "ohos.permission.NOTIFICATION_CONTROLLER",
|
||||
"reason": "$string:NOTIFICATION_CONTROLLER"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND"
|
||||
"name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND",
|
||||
"reason": "$string:START_ABILITIES_FROM_BACKGROUND"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
|
||||
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING",
|
||||
"reason": "$string:KEEP_BACKGROUND_RUNNING"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.ANSWER_CALL"
|
||||
"name": "ohos.permission.ANSWER_CALL",
|
||||
"reason": "$string:ANSWER_CALL"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -41,7 +41,8 @@
|
||||
"description": "$string:callui_description",
|
||||
"icon": "$media:app_icon",
|
||||
"label": "$string:callui_description",
|
||||
"startWindowIcon": "$media:app_icon",
|
||||
"supportWindowMode": ["fullscreen", "floating"],
|
||||
"startWindowIcon": "$media:app_start_window_icon",
|
||||
"startWindowBackground": "$color:black",
|
||||
"removeMissionAfterTerminate": true,
|
||||
"visible": true,
|
||||
@ -75,28 +76,36 @@
|
||||
],
|
||||
"requestPermissions": [
|
||||
{
|
||||
"name": "ohos.permission.READ_CONTACTS"
|
||||
"name": "ohos.permission.READ_CONTACTS",
|
||||
"reason": "$string:READ_CONTACTS"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.SEND_MESSAGES"
|
||||
"name": "ohos.permission.SEND_MESSAGES",
|
||||
"reason": "$string:SEND_MESSAGES"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED"
|
||||
"name": "ohos.permission.GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"reason": "$string:GET_BUNDLE_INFO_PRIVILEGED"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE",
|
||||
"reason": "$string:GET_TELEPHONY_STATE"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.NOTIFICATION_CONTROLLER"
|
||||
"name": "ohos.permission.NOTIFICATION_CONTROLLER",
|
||||
"reason": "$string:NOTIFICATION_CONTROLLER"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND"
|
||||
"name": "ohos.permission.START_ABILITIES_FROM_BACKGROUND",
|
||||
"reason": "$string:START_ABILITIES_FROM_BACKGROUND"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
|
||||
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING",
|
||||
"reason": "$string:KEEP_BACKGROUND_RUNNING"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.ANSWER_CALL"
|
||||
"name": "ohos.permission.ANSWER_CALL",
|
||||
"reason": "$string:ANSWER_CALL"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -204,9 +204,45 @@
|
||||
"name": "emergency",
|
||||
"value": "Emergency"
|
||||
},
|
||||
{
|
||||
"name": "wiredHeadset",
|
||||
"value": "WiredHeadset"
|
||||
},
|
||||
{
|
||||
"name": "end_holding_call",
|
||||
"value": "Answering this call will end the one currently on hold"
|
||||
},
|
||||
{
|
||||
"name": "READ_CONTACTS",
|
||||
"value": "Read contacts"
|
||||
},
|
||||
{
|
||||
"name": "SEND_MESSAGES",
|
||||
"value": "Send messages"
|
||||
},
|
||||
{
|
||||
"name": "GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"value": "Get bundle info privileged"
|
||||
},
|
||||
{
|
||||
"name": "GET_TELEPHONY_STATE",
|
||||
"value": "Get telephony state"
|
||||
},
|
||||
{
|
||||
"name": "NOTIFICATION_CONTROLLER",
|
||||
"value": "Notification controller"
|
||||
},
|
||||
{
|
||||
"name": "START_ABILITIES_FROM_BACKGROUND",
|
||||
"value": "Start abilities from background"
|
||||
},
|
||||
{
|
||||
"name": "KEEP_BACKGROUND_RUNNING",
|
||||
"value": "Keep background running"
|
||||
},
|
||||
{
|
||||
"name": "ANSWER_CALL",
|
||||
"value": "Answer call"
|
||||
}
|
||||
]
|
||||
}
|
32
entry/src/main/resources/base/media/audio_arrow.svg
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="12px"
|
||||
height="24px"
|
||||
viewBox="0 0 12 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||
<title>Public/ic_public_arrow_right</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<path
|
||||
d="M4.2482689,5.78255501 L4.28033009,5.81281566 L9.23007755,10.7625631 C9.8992572,11.4317428 9.91319844,12.5080354 9.27190128,13.1941781 L9.23007755,13.2374369 L4.28033009,18.1871843 C4.15145707,18.3160574 3.98735263,18.3882262 3.81902041,18.403691 L3.7730301,18.4065028 L3.7269699,18.4065028 C3.54277571,18.4008792 3.36025866,18.3277731 3.21966991,18.1871843 C2.93723717,17.9047516 2.92715028,17.4531048 3.18940926,17.1585854 L3.21966991,17.1265242 L7.81586399,12.5303301 C8.09829674,12.2478973 8.10838362,11.7962506 7.84612464,11.5017311 L7.81586399,11.4696699 L3.21966991,6.87347584 C2.9267767,6.58058262 2.9267767,6.10570888 3.21966991,5.81281566 C3.36088629,5.67159929 3.54440617,5.59846938 3.72943689,5.59342594 L3.77570243,5.59358355 C3.94528507,5.59936249 4.11328081,5.66235298 4.2482689,5.78255501 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Public/ic_public_arrow_right"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="路径"
|
||||
fill="#ffffff"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
31
entry/src/main/resources/base/media/audio_mode_bluetooth.svg
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_bluetooth</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M13.768,12.7072498 L17.488084,16.4274238 C18.0588502,16.9981901 18.0734853,17.914492 17.5319891,18.502978 L17.4642578,18.5720467 L13.536834,22.328713 C12.9381779,22.9013406 11.9886648,22.8802403 11.4160372,22.2815842 C11.165714,22.0198827 11.0190891,21.677103 11.0017388,21.3169859 L11,21.2447502 L11,15.4742498 L12.5,13.9742498 L12.5,21.2447502 L16.4274238,17.488084 L12.707,13.7672498 L13.768,12.7072498 Z M8.3329433,16.7276367 C8.33317605,16.7279641 8.33340872,16.7282916 8.3336413,16.7286191 L6.53033009,18.5303301 C6.2491526,18.8115076 5.80026186,18.8227547 5.50566731,18.5640714 L5.46966991,18.5303301 C5.18849242,18.2491526 5.17724532,17.8002619 5.43592862,17.5056673 L5.46966991,17.4696699 L10.93925,12 L5.46966991,6.53033009 C5.18849242,6.2491526 5.17724532,5.80026186 5.43592862,5.50566731 L5.46966991,5.46966991 C5.7508474,5.18849242 6.19973814,5.17724532 6.49433269,5.43592862 L6.53033009,5.46966991 L11,9.93925 L11,2.75524981 C11,1.94565058 11.6413937,1.28585687 12.4437654,1.25628443 L12.5,1.25524981 C12.8621455,1.25524981 13.2112029,1.38622955 13.4834315,1.62261261 L13.536834,1.67128703 L17.4642578,5.42795326 C18.0475637,5.98589809 18.0825524,6.90164871 17.5542641,7.50201978 L17.4967734,7.56380922 Z M12.5,2.75524981 L12.5,10.439 L16.4274238,6.51191604 L12.5,2.75524981 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Public/ic_public_bluetooth"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#000000"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_bluetooth</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M13.768,12.7072498 L17.488084,16.4274238 C18.0588502,16.9981901 18.0734853,17.914492 17.5319891,18.502978 L17.4642578,18.5720467 L13.536834,22.328713 C12.9381779,22.9013406 11.9886648,22.8802403 11.4160372,22.2815842 C11.165714,22.0198827 11.0190891,21.677103 11.0017388,21.3169859 L11,21.2447502 L11,15.4742498 L12.5,13.9742498 L12.5,21.2447502 L16.4274238,17.488084 L12.707,13.7672498 L13.768,12.7072498 Z M8.3329433,16.7276367 C8.33317605,16.7279641 8.33340872,16.7282916 8.3336413,16.7286191 L6.53033009,18.5303301 C6.2491526,18.8115076 5.80026186,18.8227547 5.50566731,18.5640714 L5.46966991,18.5303301 C5.18849242,18.2491526 5.17724532,17.8002619 5.43592862,17.5056673 L5.46966991,17.4696699 L10.93925,12 L5.46966991,6.53033009 C5.18849242,6.2491526 5.17724532,5.80026186 5.43592862,5.50566731 L5.46966991,5.46966991 C5.7508474,5.18849242 6.19973814,5.17724532 6.49433269,5.43592862 L6.53033009,5.46966991 L11,9.93925 L11,2.75524981 C11,1.94565058 11.6413937,1.28585687 12.4437654,1.25628443 L12.5,1.25524981 C12.8621455,1.25524981 13.2112029,1.38622955 13.4834315,1.62261261 L13.536834,1.67128703 L17.4642578,5.42795326 C18.0475637,5.98589809 18.0825524,6.90164871 17.5542641,7.50201978 L17.4967734,7.56380922 Z M12.5,2.75524981 L12.5,10.439 L16.4274238,6.51191604 L12.5,2.75524981 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Public/ic_public_bluetooth"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#006CDE"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
32
entry/src/main/resources/base/media/audio_mode_earphone.svg
Normal file
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||
<title>Linear/ic_device_earphone_hero</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<path
|
||||
d="M7.28934375,1.5 C9.61482498,1.5 11.5,3.40278981 11.5,5.75 C11.5,7.38266107 10.5879056,8.80030054 9.2499679,9.51212389 L9.25,21 C9.25,21.0859225 9.2438077,21.1703988 9.23184503,21.2530068 C9.22066603,21.3295069 9.20461068,21.4045337 9.18392607,21.4776163 C8.98184573,22.1916385 8.33801092,22.7199617 7.56644014,22.748762 L7.4999415,22.75 C6.5334755,22.75 5.75,21.9665245 5.75,21.0000585 L5.75017968,9.77049284 C4.40630227,9.39501989 3.0322548,8.58629617 2.3336899,7.54936157 C2.16015837,7.29177512 2.00741545,6.60763155 2.00029012,5.90055488 C1.99781059,5.65449959 2.01133436,5.40566716 2.03664376,5.17106649 L2.05521641,5.01696111 C2.11589473,4.5620901 2.21996644,4.17926511 2.3336899,4.00455715 C3.29492863,2.52785169 5.580184,1.5 7.28934375,1.5 Z M16.7106562,1.5 C18.419816,1.5 20.7050714,2.52785169 21.6663101,4.00455715 C21.7800336,4.17926511 21.8841053,4.5620901 21.9447836,5.01696111 L21.9633562,5.17106649 C21.9886656,5.40566716 22.0021894,5.65449959 21.9997099,5.90055488 C21.9925846,6.60763155 21.8398416,7.29177512 21.6663101,7.54936157 C20.9677885,8.58623186 19.5938682,9.39491958 18.2500704,9.77042298 L18.25,21.0000585 C18.25,21.8859857 17.591663,22.61815 16.7375152,22.7340251 L16.6789273,22.7409649 C16.6200975,22.7469394 16.5604061,22.75 16.5,22.75 C16.3792502,22.75 16.2613012,22.7377582 16.1473843,22.7144474 L16.090695,22.7018734 C15.475946,22.5545621 14.9873361,22.0828109 14.8160143,21.4777685 C14.7953893,21.4045337 14.779334,21.3295069 14.7682447,21.2528726 C14.7602098,21.1978901 14.7547793,21.1420175 14.7520518,21.0854198 L14.75,21 L14.7500321,9.51212389 C13.4120944,8.80030054 12.5,7.38266107 12.5,5.75 C12.5,3.40278981 14.385175,1.5 16.7106562,1.5 Z M17.25025,10 L15.75025,10 L15.75,20.75 L17.25,20.75 L17.25025,10 Z M8.24975,10 L6.74975,10 L6.75,20.75 L8.24975,20.75 L8.24975,10 Z M7.28934375,2.5 C6.02280248,2.5 4.43020102,3.18966752 3.54597387,4.09056942 C3.66127059,4.14218061 3.76118621,4.23011331 3.8460655,4.35197659 C4.06657751,4.6685711 4.14240506,5.1879904 4.14240506,5.93047028 C4.14240506,6.6152478 3.92687376,7.21992186 3.57396136,7.472588 C4.47184096,8.33920681 6.04697123,9 7.28934375,9 C9.06044761,9 10.500001,7.54699665 10.500001,5.75 C10.500001,3.95300335 9.06044761,2.5 7.28934375,2.5 Z M16.7106562,2.5 C14.9395524,2.5 13.499999,3.95300335 13.499999,5.75 C13.499999,7.54699665 14.9395524,9 16.7106562,9 C17.9530288,9 19.528159,8.33920681 20.4261506,7.47246887 C20.0731262,7.21992186 19.8575949,6.6152478 19.8575949,5.93047028 C19.8575949,5.1879904 19.9334225,4.6685711 20.1539345,4.35197659 C20.2388138,4.23011331 20.3387294,4.14218061 20.4537052,4.09025826 C19.569799,3.18966752 17.9771975,2.5 16.7106562,2.5 Z M5.875,4.875 C6.35824916,4.875 6.75,5.26675084 6.75,5.75 C6.75,6.23324916 6.35824916,6.625 5.875,6.625 C5.39175084,6.625 5,6.23324916 5,5.75 C5,5.26675084 5.39175084,4.875 5.875,4.875 Z M8.625,4.875 C9.10824916,4.875 9.5,5.26675084 9.5,5.75 C9.5,6.23324916 9.10824916,6.625 8.625,6.625 C8.14175084,6.625 7.75,6.23324916 7.75,5.75 C7.75,5.26675084 8.14175084,4.875 8.625,4.875 Z M18.125,4.875 C18.6082492,4.875 19,5.26675084 19,5.75 C19,6.23324916 18.6082492,6.625 18.125,6.625 C17.6417508,6.625 17.25,6.23324916 17.25,5.75 C17.25,5.26675084 17.6417508,4.875 18.125,4.875 Z M15.375,4.875 C15.8582492,4.875 16.25,5.26675084 16.25,5.75 C16.25,6.23324916 15.8582492,6.625 15.375,6.625 C14.8917508,6.625 14.5,6.23324916 14.5,5.75 C14.5,5.26675084 14.8917508,4.875 15.375,4.875 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Linear/ic_device_earphone_hero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状"
|
||||
fill="#000000"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||
<title>Linear/ic_device_earphone_hero</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<path
|
||||
d="M7.28934375,1.5 C9.61482498,1.5 11.5,3.40278981 11.5,5.75 C11.5,7.38266107 10.5879056,8.80030054 9.2499679,9.51212389 L9.25,21 C9.25,21.0859225 9.2438077,21.1703988 9.23184503,21.2530068 C9.22066603,21.3295069 9.20461068,21.4045337 9.18392607,21.4776163 C8.98184573,22.1916385 8.33801092,22.7199617 7.56644014,22.748762 L7.4999415,22.75 C6.5334755,22.75 5.75,21.9665245 5.75,21.0000585 L5.75017968,9.77049284 C4.40630227,9.39501989 3.0322548,8.58629617 2.3336899,7.54936157 C2.16015837,7.29177512 2.00741545,6.60763155 2.00029012,5.90055488 C1.99781059,5.65449959 2.01133436,5.40566716 2.03664376,5.17106649 L2.05521641,5.01696111 C2.11589473,4.5620901 2.21996644,4.17926511 2.3336899,4.00455715 C3.29492863,2.52785169 5.580184,1.5 7.28934375,1.5 Z M16.7106562,1.5 C18.419816,1.5 20.7050714,2.52785169 21.6663101,4.00455715 C21.7800336,4.17926511 21.8841053,4.5620901 21.9447836,5.01696111 L21.9633562,5.17106649 C21.9886656,5.40566716 22.0021894,5.65449959 21.9997099,5.90055488 C21.9925846,6.60763155 21.8398416,7.29177512 21.6663101,7.54936157 C20.9677885,8.58623186 19.5938682,9.39491958 18.2500704,9.77042298 L18.25,21.0000585 C18.25,21.8859857 17.591663,22.61815 16.7375152,22.7340251 L16.6789273,22.7409649 C16.6200975,22.7469394 16.5604061,22.75 16.5,22.75 C16.3792502,22.75 16.2613012,22.7377582 16.1473843,22.7144474 L16.090695,22.7018734 C15.475946,22.5545621 14.9873361,22.0828109 14.8160143,21.4777685 C14.7953893,21.4045337 14.779334,21.3295069 14.7682447,21.2528726 C14.7602098,21.1978901 14.7547793,21.1420175 14.7520518,21.0854198 L14.75,21 L14.7500321,9.51212389 C13.4120944,8.80030054 12.5,7.38266107 12.5,5.75 C12.5,3.40278981 14.385175,1.5 16.7106562,1.5 Z M17.25025,10 L15.75025,10 L15.75,20.75 L17.25,20.75 L17.25025,10 Z M8.24975,10 L6.74975,10 L6.75,20.75 L8.24975,20.75 L8.24975,10 Z M7.28934375,2.5 C6.02280248,2.5 4.43020102,3.18966752 3.54597387,4.09056942 C3.66127059,4.14218061 3.76118621,4.23011331 3.8460655,4.35197659 C4.06657751,4.6685711 4.14240506,5.1879904 4.14240506,5.93047028 C4.14240506,6.6152478 3.92687376,7.21992186 3.57396136,7.472588 C4.47184096,8.33920681 6.04697123,9 7.28934375,9 C9.06044761,9 10.500001,7.54699665 10.500001,5.75 C10.500001,3.95300335 9.06044761,2.5 7.28934375,2.5 Z M16.7106562,2.5 C14.9395524,2.5 13.499999,3.95300335 13.499999,5.75 C13.499999,7.54699665 14.9395524,9 16.7106562,9 C17.9530288,9 19.528159,8.33920681 20.4261506,7.47246887 C20.0731262,7.21992186 19.8575949,6.6152478 19.8575949,5.93047028 C19.8575949,5.1879904 19.9334225,4.6685711 20.1539345,4.35197659 C20.2388138,4.23011331 20.3387294,4.14218061 20.4537052,4.09025826 C19.569799,3.18966752 17.9771975,2.5 16.7106562,2.5 Z M5.875,4.875 C6.35824916,4.875 6.75,5.26675084 6.75,5.75 C6.75,6.23324916 6.35824916,6.625 5.875,6.625 C5.39175084,6.625 5,6.23324916 5,5.75 C5,5.26675084 5.39175084,4.875 5.875,4.875 Z M8.625,4.875 C9.10824916,4.875 9.5,5.26675084 9.5,5.75 C9.5,6.23324916 9.10824916,6.625 8.625,6.625 C8.14175084,6.625 7.75,6.23324916 7.75,5.75 C7.75,5.26675084 8.14175084,4.875 8.625,4.875 Z M18.125,4.875 C18.6082492,4.875 19,5.26675084 19,5.75 C19,6.23324916 18.6082492,6.625 18.125,6.625 C17.6417508,6.625 17.25,6.23324916 17.25,5.75 C17.25,5.26675084 17.6417508,4.875 18.125,4.875 Z M15.375,4.875 C15.8582492,4.875 16.25,5.26675084 16.25,5.75 C16.25,6.23324916 15.8582492,6.625 15.375,6.625 C14.8917508,6.625 14.5,6.23324916 14.5,5.75 C14.5,5.26675084 14.8917508,4.875 15.375,4.875 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Linear/ic_device_earphone_hero"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状"
|
||||
fill="#006CDE"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.2 KiB |
31
entry/src/main/resources/base/media/audio_mode_earpiece.svg
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_Earpiece Emergency</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M13.5443725,2.18811098 C16.8500206,2.97088845 19.0120499,5.97690286 18.7125453,9.3117657 C18.6754938,9.7243188 18.3110173,10.028723 17.8984642,9.99167156 C17.4859111,9.9546201 17.1815069,9.59014359 17.2185583,9.17759048 C17.4513918,6.58508348 15.7780533,4.2585287 13.1990029,3.6478095 C10.337219,2.97126433 7.56962653,4.67974032 6.89184912,7.54183236 C6.66446864,8.50156381 6.71047655,9.67930698 7.02958924,10.8232323 C7.33736732,11.9344354 7.74026266,12.6689241 8.50366801,13.6486212 L8.78295466,13.9990113 L9.22612684,14.5448222 L9.4446938,14.8216904 C9.47723478,14.8640221 9.5083145,14.9050966 9.53865621,14.9458875 C10.2305333,15.8760364 10.557322,16.7462243 10.6787993,18.1906352 C10.828294,19.8563165 11.8489297,20.4876781 13.4543018,20.4876781 C14.6213106,20.4876781 15.5752616,19.6530123 16.0352293,18.7347726 C16.2207447,18.3644257 16.6713603,18.2145901 17.0417073,18.4001056 C17.4120542,18.585621 17.5618898,19.0362366 17.3763743,19.4065835 C16.689287,20.7782253 15.3069868,21.9876781 13.4543018,21.9876781 C11.1613167,21.9876781 9.41669469,20.9084612 9.18444074,18.3205385 C9.08592832,17.1493021 8.8593203,16.54588 8.33510393,15.8411316 L8.1625789,15.6168123 L7.53390367,14.8398231 C6.52269673,13.5841247 5.981075,12.6571728 5.58438481,11.2249564 C5.19993984,9.84683974 5.14392761,8.4129989 5.43223665,7.19609919 C6.30084717,3.5281645 9.87633591,1.32096213 13.5443725,2.18811098 Z M12.6275873,6.32364094 C13.9718083,6.63329863 14.8622731,7.8377126 14.7386547,9.17673281 C14.7005764,9.58919241 14.3353433,9.89268842 13.9228837,9.85461014 C13.5447957,9.81970504 13.2582675,9.50989901 13.2424683,9.14080816 L13.2450064,9.03883914 C13.2989814,8.45418786 12.9099283,7.92796724 12.2911285,7.7854191 C11.5981013,7.62603693 10.9426591,8.019651 10.7827628,8.67649841 C10.7288709,8.89778239 10.7406035,9.18995735 10.8236847,9.47968609 C10.8975257,9.73903379 10.9894535,9.91482015 11.1669964,10.1461482 L11.3481024,10.3693152 C11.6135328,10.6873083 11.5709222,11.1602664 11.2529291,11.4256967 C10.934936,11.6911271 10.4619779,11.6485165 10.1965475,11.3305234 L10.1288658,11.2492206 C9.75062036,10.7922918 9.5361085,10.435149 9.38140876,9.89180016 C9.2295105,9.3620951 9.20720817,8.80670532 9.32534269,8.32163703 C9.68135003,6.85917374 11.1420247,5.98199167 12.6275873,6.32364094 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_Earpiece-Emergency"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#000000"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.0 KiB |
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_Earpiece Emergency</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M13.5443725,2.18811098 C16.8500206,2.97088845 19.0120499,5.97690286 18.7125453,9.3117657 C18.6754938,9.7243188 18.3110173,10.028723 17.8984642,9.99167156 C17.4859111,9.9546201 17.1815069,9.59014359 17.2185583,9.17759048 C17.4513918,6.58508348 15.7780533,4.2585287 13.1990029,3.6478095 C10.337219,2.97126433 7.56962653,4.67974032 6.89184912,7.54183236 C6.66446864,8.50156381 6.71047655,9.67930698 7.02958924,10.8232323 C7.33736732,11.9344354 7.74026266,12.6689241 8.50366801,13.6486212 L8.78295466,13.9990113 L9.22612684,14.5448222 L9.4446938,14.8216904 C9.47723478,14.8640221 9.5083145,14.9050966 9.53865621,14.9458875 C10.2305333,15.8760364 10.557322,16.7462243 10.6787993,18.1906352 C10.828294,19.8563165 11.8489297,20.4876781 13.4543018,20.4876781 C14.6213106,20.4876781 15.5752616,19.6530123 16.0352293,18.7347726 C16.2207447,18.3644257 16.6713603,18.2145901 17.0417073,18.4001056 C17.4120542,18.585621 17.5618898,19.0362366 17.3763743,19.4065835 C16.689287,20.7782253 15.3069868,21.9876781 13.4543018,21.9876781 C11.1613167,21.9876781 9.41669469,20.9084612 9.18444074,18.3205385 C9.08592832,17.1493021 8.8593203,16.54588 8.33510393,15.8411316 L8.1625789,15.6168123 L7.53390367,14.8398231 C6.52269673,13.5841247 5.981075,12.6571728 5.58438481,11.2249564 C5.19993984,9.84683974 5.14392761,8.4129989 5.43223665,7.19609919 C6.30084717,3.5281645 9.87633591,1.32096213 13.5443725,2.18811098 Z M12.6275873,6.32364094 C13.9718083,6.63329863 14.8622731,7.8377126 14.7386547,9.17673281 C14.7005764,9.58919241 14.3353433,9.89268842 13.9228837,9.85461014 C13.5447957,9.81970504 13.2582675,9.50989901 13.2424683,9.14080816 L13.2450064,9.03883914 C13.2989814,8.45418786 12.9099283,7.92796724 12.2911285,7.7854191 C11.5981013,7.62603693 10.9426591,8.019651 10.7827628,8.67649841 C10.7288709,8.89778239 10.7406035,9.18995735 10.8236847,9.47968609 C10.8975257,9.73903379 10.9894535,9.91482015 11.1669964,10.1461482 L11.3481024,10.3693152 C11.6135328,10.6873083 11.5709222,11.1602664 11.2529291,11.4256967 C10.934936,11.6911271 10.4619779,11.6485165 10.1965475,11.3305234 L10.1288658,11.2492206 C9.75062036,10.7922918 9.5361085,10.435149 9.38140876,9.89180016 C9.2295105,9.3620951 9.20720817,8.80670532 9.32534269,8.32163703 C9.68135003,6.85917374 11.1420247,5.98199167 12.6275873,6.32364094 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_Earpiece-Emergency"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#006CDE"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.0 KiB |
31
entry/src/main/resources/base/media/audio_mode_sound.svg
Normal file
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_sound</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M19.6297132,3.97021633 C21.767174,6.11208412 22.9900393,9.00753275 22.9900393,12.0946605 C22.9900393,15.1739324 21.7734214,18.0626391 19.6455849,20.2031692 C19.3535641,20.4969322 18.8786924,20.4983444 18.5849295,20.2063235 C18.2911665,19.9143026 18.2897543,19.4394309 18.5817752,19.145668 C20.4329978,17.2834019 21.4900393,14.7735894 21.4900393,12.0946605 C21.4900393,9.4089026 20.4275654,6.89322181 18.5679613,5.02978367 C18.2753698,4.73658898 18.2758589,4.2617155 18.5690535,3.96912406 C18.8622482,3.67653262 19.3371217,3.67702165 19.6297132,3.97021633 Z M7.67146054,5.77188408 C8.4325828,5.17622318 9.53247286,5.31035612 10.1281338,6.07147837 C10.3690847,6.37936011 10.5,6.75905937 10.5,7.15001783 L10.5,7.15001783 L10.5,17.045134 C10.5,18.0116323 9.71649831,18.795134 8.75,18.795134 C8.35904154,18.795134 7.97934229,18.6642187 7.67138834,18.4232113 L7.67138834,18.4232113 L4.38,15.8465759 L2.25,15.8475759 C1.05913601,15.8475759 0.084355084,14.9224143 0.00519081254,13.7516247 L0.00519081254,13.7516247 L0,13.5975759 L0,10.5975759 C0,9.35493524 1.00735931,8.34757593 2.24981101,8.34757595 L2.24981101,8.34757595 L4.379,8.34657593 Z M16.4901783,6.49794378 C17.9618152,7.97261488 18.8039928,9.96668727 18.8039928,12.0921781 C18.8039928,14.2122592 17.966117,16.2016903 16.5011051,17.6754418 C16.2090842,17.9692047 15.7342125,17.9706169 15.4404496,17.678596 C15.1466866,17.3865751 15.1452744,16.9117035 15.4372953,16.6179406 C16.6256934,15.4224531 17.3039928,13.8119162 17.3039928,12.0921781 C17.3039928,10.3680571 16.6222066,8.75375258 15.4284264,7.55751111 C15.1358349,7.26431643 15.136324,6.78944294 15.4295187,6.4968515 C15.7227133,6.20426006 16.1975868,6.20474909 16.4901783,6.49794378 Z M8.94687625,6.99594076 C8.86178184,6.88720901 8.70465469,6.86804716 8.59586895,6.95318383 L8.59586895,6.95318383 L4.89763507,9.84690879 L2.25,9.84757593 C1.83578644,9.84757593 1.5,10.1833624 1.5,10.5975759 L1.5,10.5975759 L1.5,13.5975759 C1.5,14.0117895 1.83578644,14.3475759 2.24981101,14.347576 L2.24981101,14.347576 L4.89755819,14.3469088 L8.59592293,17.2420103 C8.63990604,17.2764318 8.69414879,17.295134 8.75,17.295134 C8.88807119,17.295134 9,17.1832052 9,17.045134 L9,17.045134 L9,7.15001783 C9,7.09416662 8.98129781,7.03992387 8.94687625,6.99594076 Z M13.6408603,9.2089851 C14.3913218,9.97869506 14.819589,11.0098911 14.819589,12.1067087 C14.819589,13.2171715 14.3805594,14.2600877 13.613475,15.0322585 C13.3215512,15.326118 12.8466801,15.3276871 12.5528206,15.0357634 C12.2589611,14.7438396 12.2573919,14.2689685 12.5493157,13.975109 C13.0399975,13.4811736 13.319589,12.817003 13.319589,12.1067087 C13.319589,11.4051196 13.0468694,10.7484563 12.5668561,10.2561312 C12.2776947,9.9595531 12.2837071,9.48471743 12.5802852,9.19555603 C12.8768633,8.90639462 13.3516989,8.91240702 13.6408603,9.2089851 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="Public/ic_public_sound"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="合并形状"
|
||||
fill="#000000"
|
||||
fill-rule="nonzero"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||
<title>Linear/ic_device_earphone</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<g
|
||||
id="Linear/ic_device_earphone"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<path
|
||||
d="M22.5,19.6094601 C22.5,21.4195855 21.0815167,22.8984063 19.2954895,22.9949831 L19.1094601,23 L18.8905399,23 C17.0804145,23 15.6015937,21.5815167 15.5050169,19.7954895 L15.5,19.6094601 L15.5,16.3905399 C15.5,14.5804145 16.9184833,13.1015937 18.7045105,13.0050169 L18.8905399,13 L19.1094601,13 C19.8100271,13 20.460968,13.2124742 21.0013572,13.5764969 L21,11.5 C21,6.52943725 16.9705627,2.5 12,2.5 C7.07914288,2.5 3.08068286,6.44925145 3.00120574,11.3511685 L2.99965296,13.5758167 C3.479822,13.2526103 4.0472018,13.0490268 4.65908219,13.0077762 L4.89053989,13 L5.10946011,13 C6.91958547,13 8.3984063,14.4184833 8.4949831,16.2045105 L8.5,16.3905399 L8.5,19.6094601 C8.5,21.4195855 7.08151668,22.8984063 5.29548954,22.9949831 L5.10946011,23 L4.89053989,23 C3.08041453,23 1.6015937,21.5815167 1.5050169,19.7954895 L1.5,19.6094601 L1.5,11.5 C1.5,5.70101013 6.20101013,1 12,1 C17.741,1 22.40587,5.60746003 22.4985933,11.3263633 L22.5,11.5 L22.5,19.6094601 Z M19.1094601,14.5 L18.8905399,14.5 C17.8961434,14.5 17.08106,15.2677311 17.0056879,16.2427953 L17,16.3905399 L17,19.6094601 C17,20.6038566 17.7677311,21.41894 18.7427953,21.4943121 L18.8905399,21.5 L19.1094601,21.5 C20.1038566,21.5 20.91894,20.7322689 20.9943121,19.7572047 L21,19.6094601 L21,16.3905399 C21,15.3961434 20.2322689,14.58106 19.2572047,14.5056879 L19.1094601,14.5 Z M5.10946011,14.5 L4.89053989,14.5 C3.89614337,14.5 3.08106005,15.2677311 3.00568793,16.2427953 L3,16.3905399 L3,19.6094601 C3,20.6038566 3.7677311,21.41894 4.74279531,21.4943121 L4.89053989,21.5 L5.10946011,21.5 C6.10385663,21.5 6.91893995,20.7322689 6.99431207,19.7572047 L7,19.6094601 L7,16.3905399 C7,15.3961434 6.2322689,14.58106 5.25720469,14.5056879 L5.10946011,14.5 Z"
|
||||
id="形状"
|
||||
fill="#000000"
|
||||
fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px"
|
||||
height="24px"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"> <!-- Generator: Sketch 63.1 (92452) - https://sketch.com -->
|
||||
<title>Linear/ic_device_earphone</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<g
|
||||
id="Linear/ic_device_earphone"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<path
|
||||
d="M22.5,19.6094601 C22.5,21.4195855 21.0815167,22.8984063 19.2954895,22.9949831 L19.1094601,23 L18.8905399,23 C17.0804145,23 15.6015937,21.5815167 15.5050169,19.7954895 L15.5,19.6094601 L15.5,16.3905399 C15.5,14.5804145 16.9184833,13.1015937 18.7045105,13.0050169 L18.8905399,13 L19.1094601,13 C19.8100271,13 20.460968,13.2124742 21.0013572,13.5764969 L21,11.5 C21,6.52943725 16.9705627,2.5 12,2.5 C7.07914288,2.5 3.08068286,6.44925145 3.00120574,11.3511685 L2.99965296,13.5758167 C3.479822,13.2526103 4.0472018,13.0490268 4.65908219,13.0077762 L4.89053989,13 L5.10946011,13 C6.91958547,13 8.3984063,14.4184833 8.4949831,16.2045105 L8.5,16.3905399 L8.5,19.6094601 C8.5,21.4195855 7.08151668,22.8984063 5.29548954,22.9949831 L5.10946011,23 L4.89053989,23 C3.08041453,23 1.6015937,21.5815167 1.5050169,19.7954895 L1.5,19.6094601 L1.5,11.5 C1.5,5.70101013 6.20101013,1 12,1 C17.741,1 22.40587,5.60746003 22.4985933,11.3263633 L22.5,11.5 L22.5,19.6094601 Z M19.1094601,14.5 L18.8905399,14.5 C17.8961434,14.5 17.08106,15.2677311 17.0056879,16.2427953 L17,16.3905399 L17,19.6094601 C17,20.6038566 17.7677311,21.41894 18.7427953,21.4943121 L18.8905399,21.5 L19.1094601,21.5 C20.1038566,21.5 20.91894,20.7322689 20.9943121,19.7572047 L21,19.6094601 L21,16.3905399 C21,15.3961434 20.2322689,14.58106 19.2572047,14.5056879 L19.1094601,14.5 Z M5.10946011,14.5 L4.89053989,14.5 C3.89614337,14.5 3.08106005,15.2677311 3.00568793,16.2427953 L3,16.3905399 L3,19.6094601 C3,20.6038566 3.7677311,21.41894 4.74279531,21.4943121 L4.89053989,21.5 L5.10946011,21.5 C6.10385663,21.5 6.91893995,20.7322689 6.99431207,19.7572047 L7,19.6094601 L7,16.3905399 C7,15.3961434 6.2322689,14.58106 5.25720469,14.5056879 L5.10946011,14.5 Z"
|
||||
id="形状"
|
||||
fill="#006CDE"
|
||||
fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>默认头像_dark</title>
|
||||
<g id="默认头像_dark" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect fill="#000000" x="0" y="0" width="40" height="40"></rect>
|
||||
<g id="编组-2" fill="#FFFFFF">
|
||||
<circle id="Oval-3" opacity="0.4" cx="20" cy="20" r="20"></circle>
|
||||
<path d="M19.9334831,25.7142857 C26.1211343,25.7142857 29.3069514,28.1482986 31.0172895,30.3557901 L31.3303083,30.7795035 C31.379544,30.8494129 31.4273469,30.9189079 31.473768,30.9878992 L31.7223778,31.3728576 L31.9434819,31.7434234 L32.1391518,32.0959851 L32.3894999,32.5831708 L32.7089266,33.2539683 L32.797241,33.4584525 C29.4661824,36.6268494 24.9601816,38.5714286 20,38.5714286 C14.9914494,38.5714286 10.4459807,36.5887395 7.10564693,33.3654147 L7.15803961,33.2539683 L7.48747739,32.5831708 L7.74176764,32.0959851 L7.93930437,31.7434234 L8.16172143,31.3728576 L8.41113806,30.9878992 L8.55483616,30.7795035 L8.55483616,30.7795035 L8.86797414,30.3557901 C10.5777692,28.1482986 13.7458319,25.7142857 19.9334831,25.7142857 Z" id="路径"></path>
|
||||
<path d="M19.9334831,9.28571429 C16.1858366,9.28571429 13.1477688,12.3237821 13.1477688,16.0714286 C13.1477688,19.8190751 16.1858366,22.8571429 19.9334831,22.8571429 C23.6811296,22.8571429 26.7191974,19.8190751 26.7191974,16.0714286 C26.7191974,12.3237821 23.6811296,9.28571429 19.9334831,9.28571429 Z" id="路径" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>默认头像_light</title>
|
||||
<g id="默认头像_light" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="编组-2">
|
||||
<circle id="Oval-3" fill="#000000" opacity="0.4" cx="20" cy="20" r="20"></circle>
|
||||
<path d="M19.9334831,25.7142857 C26.1211343,25.7142857 29.3069514,28.1482986 31.0172895,30.3557901 L31.3303083,30.7795035 C31.379544,30.8494129 31.4273469,30.9189079 31.473768,30.9878992 L31.7223778,31.3728576 L31.9434819,31.7434234 L32.1391518,32.0959851 L32.3894999,32.5831708 L32.7089266,33.2539683 L32.797241,33.4584525 C29.4661824,36.6268494 24.9601816,38.5714286 20,38.5714286 C14.9914494,38.5714286 10.4459807,36.5887395 7.10564693,33.3654147 L7.15803961,33.2539683 L7.48747739,32.5831708 L7.74176764,32.0959851 L7.93930437,31.7434234 L8.16172143,31.3728576 L8.41113806,30.9878992 L8.55483616,30.7795035 L8.55483616,30.7795035 L8.86797414,30.3557901 C10.5777692,28.1482986 13.7458319,25.7142857 19.9334831,25.7142857 Z" id="路径" fill="#E5E5E5"></path>
|
||||
<path d="M19.9334831,9.28571429 C16.1858366,9.28571429 13.1477688,12.3237821 13.1477688,16.0714286 C13.1477688,19.8190751 16.1858366,22.8571429 19.9334831,22.8571429 C23.6811296,22.8571429 26.7191974,19.8190751 26.7191974,16.0714286 C26.7191974,12.3237821 23.6811296,9.28571429 19.9334831,9.28571429 Z" id="路径" fill="#E5E5E5" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="60px" height="1px" viewBox="0 0 60 1" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>divider</title>
|
||||
<g id="divider" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<rect id="矩形" x="0" y="0" width="60" height="1"></rect>
|
||||
<rect id="bottom-tab/items/divider" fill="#000000" opacity="0.1" x="0" y="0.5" width="60" height="1"></rect>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 493 B |
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_add_filled</title>
|
||||
<g id="Public/ic_add_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<g id="Group" transform="translate(2.000000, 2.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<path d="M10,2.22044605e-13 C10.5522847,2.22044605e-13 11,0.44771525 11,1 L11,19 C11,19.5522847 10.5522847,20 10,20 C9.44771525,20 9,19.5522847 9,19 L9,11 L1,11 C0.44771525,11 2.23820962e-13,10.5522847 2.23820962e-13,10 C2.23820962e-13,9.44771525 0.44771525,9 1,9 L9,9 L9,1 C9,0.44771525 9.44771525,2.22044605e-13 10,2.22044605e-13 Z M19,9 C19.5522847,9 20,9.44771525 20,10 C20,10.5522847 19.5522847,11 19,11 L11.999,11 L11.999,9 L19,9 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 976 B |
Before Width: | Height: | Size: 8.9 KiB |
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_message</title>
|
||||
<g id="Public/ic_message" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<g id="编组-2" transform="translate(1.000000, 3.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<path d="M14.75,0 C18.7140238,0 21.9350055,3.18134145 21.9990287,7.13010799 L22,7.25 L22,7.5 C22,11.4640238 18.8186586,14.6850055 14.869892,14.7490287 L14.75,14.75 L12.8105,14.75 L8.78033009,18.7803301 C8.4991526,19.0615076 8.05026186,19.0727547 7.75566731,18.8140714 L7.71966991,18.7803301 C7.43849242,18.4991526 7.42724532,18.0502619 7.68592862,17.7556673 L7.71966991,17.7196699 L11.9696699,13.4696699 C12.0986012,13.3407387 12.2696414,13.2635976 12.4504659,13.2516361 L12.5,13.25 L14.75,13.25 C17.8938809,13.25 20.4484526,10.7268671 20.4992297,7.59508676 L20.5,7.5 L20.5,7.25 C20.5,4.10611906 17.9768671,1.55154738 14.8450868,1.50077034 L14.75,1.5 L7.25,1.5 C4.10611906,1.5 1.55154738,4.02313287 1.50077034,7.15491324 L1.5,7.25 L1.5,7.5 C1.5,10.6438809 4.02313287,13.1984526 7.15491324,13.2492297 L7.25,13.25 L8.25,13.25 C8.66421356,13.25 9,13.5857864 9,14 C9,14.3994202 8.68777001,14.7259152 8.2940682,14.7487268 L8.25,14.75 L7.25,14.75 C3.28597621,14.75 0.0649945242,11.5686586 0.000971292862,7.61989201 L0,7.5 L0,7.25 C0,3.28597621 3.18134145,0.0649945242 7.13010799,0.000971292862 L7.25,0 L14.75,0 Z" id="路径"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_publicSmart Speakerfiled</title>
|
||||
<g id="ic_publicSmart-Speakerfiled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.6">
|
||||
<rect id="Rectangle备份" fill-rule="nonzero" x="0" y="0" width="16" height="16"></rect>
|
||||
<path d="M11.9772727,4 C10.0397727,4 8.45454545,5.58522727 8.45454545,7.52272727 C8.45454545,8.33295455 8.73636364,9.0375 9.15909091,9.63636364 L6.34090909,9.63636364 C6.79886364,9.0375 7.04545455,8.33295455 7.04545455,7.52272727 C7.04545455,5.58522727 5.46022727,4 3.52272727,4 C1.58522727,4 0,5.58522727 0,7.52272727 C0,9.46022727 1.58522727,11.0454545 3.52272727,11.0454545 L11.9772727,11.0454545 C13.9147727,11.0454545 15.5,9.46022727 15.5,7.52272727 C15.5,5.58522727 13.9147727,4 11.9772727,4 Z M1.40909091,7.52272727 C1.40909091,6.36022727 2.36022727,5.40909091 3.52272727,5.40909091 C4.68522727,5.40909091 5.63636364,6.36022727 5.63636364,7.52272727 C5.63636364,8.68522727 4.68522727,9.63636364 3.52272727,9.63636364 C2.36022727,9.63636364 1.40909091,8.68522727 1.40909091,7.52272727 Z M11.9772727,9.63636364 C10.8147727,9.63636364 9.86363636,8.68522727 9.86363636,7.52272727 C9.86363636,6.36022727 10.8147727,5.40909091 11.9772727,5.40909091 C13.1397727,5.40909091 14.0909091,6.36022727 14.0909091,7.52272727 C14.0909091,8.68522727 13.1397727,9.63636364 11.9772727,9.63636364 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_add_filled</title>
|
||||
<defs>
|
||||
<path d="M15.9375,26.5625 C15.9375,27.080267 15.517767,27.5 15,27.5 C14.482233,27.5 14.0625,27.080267 14.0625,26.5625 L14.062,15.937 L3.4375,15.9375 C2.91973305,15.9375 2.5,15.517767 2.5,15 C2.5,14.482233 2.91973305,14.0625 3.4375,14.0625 L14.062,14.062 L14.0625,3.4375 C14.0625,2.91973305 14.482233,2.5 15,2.5 C15.517767,2.5 15.9375,2.91973305 15.9375,3.4375 L15.9375,26.5625 Z M26.5625,14.0625 C27.080267,14.0625 27.5,14.482233 27.5,15 C27.5,15.517767 27.080267,15.9375 26.5625,15.9375 L17.187,15.9375 L17.187,14.0625 L26.5625,14.0625 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="ic_public_add_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#FFFFFF" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_add_filled_置灰</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M15.9375,26.5625 C15.9375,27.080267 15.517767,27.5 15,27.5 C14.482233,27.5 14.0625,27.080267 14.0625,26.5625 L14.062,15.937 L3.4375,15.9375 C2.91973305,15.9375 2.5,15.517767 2.5,15 C2.5,14.482233 2.91973305,14.0625 3.4375,14.0625 L14.062,14.062 L14.0625,3.4375 C14.0625,2.91973305 14.482233,2.5 15,2.5 C15.517767,2.5 15.9375,2.91973305 15.9375,3.4375 L15.9375,26.5625 Z M26.5625,14.0625 C27.080267,14.0625 27.5,14.482233 27.5,15 C27.5,15.517767 27.080267,15.9375 26.5625,15.9375 L17.187,15.9375 L17.187,14.0625 L26.5625,14.0625 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_public_add_filled_置灰"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="#8c8c8c">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#FFFFFF"
|
||||
opacity="0.4"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.3 KiB |
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_clock</title>
|
||||
<g id="Public/ic_public_clock" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M12,2 C17.5228475,2 22,6.4771525 22,12 C22,14.4914746 21.0888524,16.7701393 19.5815924,18.520959 L20.9497475,19.8890873 C21.2426407,20.1819805 21.2426407,20.6568542 20.9497475,20.9497475 C20.6568542,21.2426407 20.1819805,21.2426407 19.8890873,20.9497475 L18.520959,19.5815924 C16.7701393,21.0888524 14.4914746,22 12,22 C9.5085254,22 7.22986071,21.0888524 5.47904098,19.5815924 L4.1109127,20.9497475 C3.81801948,21.2426407 3.34314575,21.2426407 3.05025253,20.9497475 C2.75735931,20.6568542 2.75735931,20.1819805 3.05025253,19.8890873 L4.41840762,18.520959 C2.91114756,16.7701393 2,14.4914746 2,12 C2,6.4771525 6.4771525,2 12,2 Z M12,3.5 C7.30557963,3.5 3.5,7.30557963 3.5,12 C3.5,16.6944204 7.30557963,20.5 12,20.5 C16.6944204,20.5 20.5,16.6944204 20.5,12 C20.5,7.30557963 16.6944204,3.5 12,3.5 Z M13.6355698,12.6237513 L16.9604076,15.9497475 C17.2533009,16.2426407 17.2533009,16.7175144 16.9604076,17.0104076 C16.6675144,17.3033009 16.1926407,17.3033009 15.8997475,17.0104076 L12.5511741,13.6614355 C13.0498871,13.4960746 13.4490911,13.1124411 13.6355698,12.6237513 Z M12.75,12 C12.75,12.3796958 12.4678461,12.693491 12.1017706,12.7431534 L12,12.75 L12,12.75 C11.9640733,12.75 11.9287366,12.7474739 11.8941579,12.7425897 L12,12.75 C11.9549821,12.75 11.9108906,12.7460337 11.8680558,12.7384315 C11.8432933,12.7340301 11.8191347,12.728466 11.7954522,12.7217676 C11.781469,12.7178136 11.7676056,12.7134482 11.7539222,12.7086976 C11.7350308,12.7021309 11.71674,12.6949433 11.6988159,12.6870749 C11.6891018,12.6828208 11.6789219,12.6780847 11.668869,12.67313 C11.6477481,12.6627042 11.627582,12.6515555 11.60801,12.6395336 C11.6009458,12.6351971 11.5937911,12.630636 11.5867203,12.6259582 C11.5649505,12.6115537 11.5440196,12.5960797 11.52396,12.5795847 C11.518372,12.5749885 11.5129205,12.5703731 11.5075366,12.5656822 C11.4902398,12.5506186 11.4735171,12.5346462 11.4575587,12.5179375 C11.4464451,12.5063186 11.4353497,12.4939238 11.4246706,12.4811685 C11.4147985,12.4693772 11.4052785,12.4572731 11.3961311,12.4448772 C11.3859949,12.431136 11.376395,12.4171593 11.3672669,12.4028524 C11.3570861,12.3869164 11.3472794,12.3701754 11.338119,12.353037 C11.3333954,12.3441908 11.3289826,12.3355249 11.3247353,12.3267639 C11.3136194,12.30385 11.3035701,12.2801052 11.294744,12.2557739 C11.2910509,12.245596 11.2875502,12.2352464 11.2842719,12.2247984 C11.2786979,12.2070335 11.2737682,12.1889888 11.2695086,12.1706868 C11.2673742,12.1614976 11.265472,12.1525711 11.2637303,12.1435875 C11.2541884,12.0915437 11.25,12.046261 11.25,12 L11.25,7 C11.25,6.58578644 11.5857864,6.25 12,6.25 C12.4142136,6.25 12.75,6.58578644 12.75,7 L12.75,12 Z M5.26008995,2.2254482 C5.51533521,2.55167317 5.45779478,3.02304793 5.13156981,3.27829319 C4.4409476,3.8186505 3.81801912,4.44163233 3.27772128,5.13230082 C3.02250406,5.45854773 2.55113424,5.51612866 2.22488734,5.26091143 C1.89864044,5.0056942 1.84105951,4.53432439 2.09627673,4.20807749 C2.71153598,3.42158503 3.42080532,2.71225493 4.20724496,2.09692806 C4.53346993,1.8416828 5.00484469,1.89922323 5.26008995,2.2254482 Z M19.7929399,2.09697317 C20.5790964,2.71220219 21.2880809,3.42122669 21.9031087,4.20729191 C22.1583524,4.53351812 22.1008096,5.0048926 21.7745834,5.26013628 C21.4483572,5.51537996 20.9769827,5.45783725 20.7217391,5.13161104 C20.1816323,4.44130218 19.5589258,3.81856056 18.8684997,3.27824808 C18.5422997,3.02297098 18.4848053,2.55159061 18.7400824,2.22539055 C18.9953595,1.89919049 19.4667398,1.84169607 19.7929399,2.09697317 Z" id="蒙版" fill="#000000"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.8 KiB |
@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="56px" height="56px" viewBox="0 0 56 56" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>挂断备份 3</title>
|
||||
<defs>
|
||||
<circle id="path-1" cx="28" cy="28" r="28"></circle>
|
||||
<path d="M24.4169458,24.4378595 L25.227008,23.6314538 C26.257664,22.5999857 26.257664,20.9335493 25.227008,19.9016749 L22.4291651,17.793645 C22.2723527,17.6754264 22.121634,17.5498952 21.9709152,17.4239578 C21.0483218,16.6589895 19.6926659,16.718302 18.8407599,17.5604577 L17.5509165,18.8137381 C16.9919167,19.3711128 16.1217295,19.473894 15.4473547,19.0615505 C12.6811992,17.3654578 8.40420049,13.0900856 6.81982595,10.5412747 C6.39976358,9.8689314 6.5001073,8.99752571 7.06195088,8.43730732 L8.47570047,7.10358943 C9.34060646,6.23787124 9.38123145,4.85255964 8.56913794,3.93768523 C8.43629423,3.78940407 8.30995052,3.63462292 8.18563805,3.47984177 L6.19257614,1.00781212 C5.57710757,0.242843861 4.58626411,-0.139030893 3.6185769,0.0462189875 C3.1006083,0.144937674 2.62407719,0.396000012 2.25154605,0.767312272 L1.56742125,1.44818683 C0.266609131,2.738436 -0.27532821,4.6047473 0.13417167,6.38655865 C1.9009524,13.9915537 12.0726369,24.378547 19.6065409,25.8962961 C21.3521967,26.2481083 23.1579774,25.6907337 24.4169458,24.4378595 Z" id="path-3"></path>
|
||||
</defs>
|
||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="挂断备份-3">
|
||||
<g id="挂断">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="backplane/round" fill="#E84826" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
<g id="Public/ic_phonecall_filled备份" transform="translate(24.464466, 30.000000) rotate(-225.000000) translate(-24.464466, -30.000000) translate(8.964466, 14.500000)">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<mask id="mask-4" fill="white">
|
||||
<use xlink:href="#path-3"></use>
|
||||
</mask>
|
||||
<use id="Stroke-1" fill="#FFFFFF" xlink:href="#path-3"></use>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_dialer</title>
|
||||
<g id="Public/ic_dialer" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<g id="编组" transform="translate(4.000000, 2.000000)" fill="#000000">
|
||||
<path d="M8.05,16.5 C9.01675,16.5 9.8,17.28325 9.8,18.25 C9.8,19.21625 9.01675,20 8.05,20 C7.08375,20 6.3,19.21625 6.3,18.25 C6.3,17.28325 7.08375,16.5 8.05,16.5 Z M2.55,11 C3.51675,11 4.3,11.78325 4.3,12.75 C4.3,13.71625 3.51675,14.5 2.55,14.5 C1.58375,14.5 0.8,13.71625 0.8,12.75 C0.8,11.78325 1.58375,11 2.55,11 Z M8.05,11 C9.01675,11 9.8,11.78325 9.8,12.75 C9.8,13.71625 9.01675,14.5 8.05,14.5 C7.08375,14.5 6.3,13.71625 6.3,12.75 C6.3,11.78325 7.08375,11 8.05,11 Z M13.55,11 C14.51675,11 15.3,11.78325 15.3,12.75 C15.3,13.71625 14.51675,14.5 13.55,14.5 C12.58375,14.5 11.8,13.71625 11.8,12.75 C11.8,11.78325 12.58375,11 13.55,11 Z M2.55,5.5 C3.51675,5.5 4.3,6.28325 4.3,7.25 C4.3,8.21625 3.51675,9 2.55,9 C1.58375,9 0.8,8.21625 0.8,7.25 C0.8,6.28325 1.58375,5.5 2.55,5.5 Z M8.05,5.5 C9.01675,5.5 9.8,6.28325 9.8,7.25 C9.8,8.21625 9.01675,9 8.05,9 C7.08375,9 6.3,8.21625 6.3,7.25 C6.3,6.28325 7.08375,5.5 8.05,5.5 Z M13.55,5.5 C14.51675,5.5 15.3,6.28325 15.3,7.25 C15.3,8.21625 14.51675,9 13.55,9 C12.58375,9 11.8,8.21625 11.8,7.25 C11.8,6.28325 12.58375,5.5 13.55,5.5 Z M2.55,0 C3.51675,0 4.3,0.78325 4.3,1.75 C4.3,2.71625 3.51675,3.5 2.55,3.5 C1.58375,3.5 0.8,2.71625 0.8,1.75 C0.8,0.78325 1.58375,0 2.55,0 Z M8.05,0 C9.01675,0 9.8,0.78325 9.8,1.75 C9.8,2.71625 9.01675,3.5 8.05,3.5 C7.08375,3.5 6.3,2.71625 6.3,1.75 C6.3,0.78325 7.08375,0 8.05,0 Z M13.55,0 C14.51675,0 15.3,0.78325 15.3,1.75 C15.3,2.71625 14.51675,3.5 13.55,3.5 C12.58375,3.5 11.8,2.71625 11.8,1.75 C11.8,0.78325 12.58375,0 13.55,0 Z" id="Fill-4"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_pause</title>
|
||||
<g id="ic_public_pause" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M10,4.375 C10.6903559,4.375 11.25,4.93464406 11.25,5.625 L11.25,24.375 C11.25,25.0653559 10.6903559,25.625 10,25.625 C9.30964406,25.625 8.75,25.0653559 8.75,24.375 L8.75,5.625 C8.75,4.93464406 9.30964406,4.375 10,4.375 Z M20,4.375 C20.6903559,4.375 21.25,4.93464406 21.25,5.625 L21.25,24.375 C21.25,25.0653559 20.6903559,25.625 20,25.625 C19.3096441,25.625 18.75,25.0653559 18.75,24.375 L18.75,5.625 C18.75,4.93464406 19.3096441,4.375 20,4.375 Z" id="ic/pause/ic_pause" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 836 B |
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_pause_高亮</title>
|
||||
<g id="ic_public_pause_高亮" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M10,4.375 C10.6903559,4.375 11.25,4.93464406 11.25,5.625 L11.25,24.375 C11.25,25.0653559 10.6903559,25.625 10,25.625 C9.30964406,25.625 8.75,25.0653559 8.75,24.375 L8.75,5.625 C8.75,4.93464406 9.30964406,4.375 10,4.375 Z M20,4.375 C20.6903559,4.375 21.25,4.93464406 21.25,5.625 L21.25,24.375 C21.25,25.0653559 20.6903559,25.625 20,25.625 C19.3096441,25.625 18.75,25.0653559 18.75,24.375 L18.75,5.625 C18.75,4.93464406 19.3096441,4.375 20,4.375 Z" id="ic/pause/ic_pause" fill="#006CDE"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 850 B |
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_pause_置灰</title>
|
||||
<g id="ic_public_pause_置灰" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.4">
|
||||
<path d="M10,4.375 C10.6903559,4.375 11.25,4.93464406 11.25,5.625 L11.25,24.375 C11.25,25.0653559 10.6903559,25.625 10,25.625 C9.30964406,25.625 8.75,25.0653559 8.75,24.375 L8.75,5.625 C8.75,4.93464406 9.30964406,4.375 10,4.375 Z M20,4.375 C20.6903559,4.375 21.25,4.93464406 21.25,5.625 L21.25,24.375 C21.25,25.0653559 20.6903559,25.625 20,25.625 C19.3096441,25.625 18.75,25.0653559 18.75,24.375 L18.75,5.625 C18.75,4.93464406 19.3096441,4.375 20,4.375 Z" id="ic/pause/ic_pause" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 864 B |
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_recording_</title>
|
||||
<defs>
|
||||
<path d="M15,3.75 C15.6903559,3.75 16.25,4.36424348 16.25,5.12195122 L16.25,5.12195122 L16.25,24.8780488 C16.25,25.6357565 15.6903559,26.25 15,26.25 C14.3096441,26.25 13.75,25.6357565 13.75,24.8780488 L13.75,24.8780488 L13.75,5.12195122 C13.75,4.36424348 14.3096441,3.75 15,3.75 Z M8.75,8.14024396 C9.44035592,8.14024396 10,8.75448741 10,9.51219512 L10,9.51219512 L10,22.1341463 C10,22.8918541 9.44035594,23.5060976 8.75,23.5060976 C8.05964406,23.5060976 7.5,22.8918541 7.5,22.1341463 L7.5,22.1341463 L7.5,9.51219512 C7.5,8.75448741 8.05964408,8.14024396 8.75,8.14024396 Z M21.25,9.78658537 C21.9403559,9.78658537 22.5,10.4008288 22.5,11.1585366 L22.5,11.1585366 L22.5,19.3902439 C22.5,20.1479516 21.9403559,20.7621951 21.25,20.7621951 C20.5596441,20.7621951 20,20.1479516 20,19.3902439 L20,19.3902439 L20,11.1585366 C20,10.4008288 20.5596441,9.78658537 21.25,9.78658537 L21.25,9.78658537 Z M2.5,13.0792683 C3.19035594,13.0792683 3.75,13.6935118 3.75,14.4512195 L3.75,14.4512195 L3.75,17.195122 C3.75,17.9528297 3.19035594,18.5670732 2.5,18.5670732 C1.80964406,18.5670732 1.25,17.9528297 1.25,17.195122 L1.25,17.195122 L1.25,14.4512195 C1.25,13.6935118 1.80964406,13.0792683 2.5,13.0792683 Z M27.5,12.5304878 C28.1903559,12.5304878 28.75,13.1447313 28.75,13.902439 L28.75,13.902439 L28.75,17.195122 C28.75,17.9528297 28.1903559,18.5670732 27.5,18.5670732 C26.8096441,18.5670732 26.25,17.9528297 26.25,17.195122 L26.25,17.195122 L26.25,13.902439 C26.25,13.1447313 26.8096441,12.5304878 27.5,12.5304878 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="ic_public_recording_" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#FFFFFF" fill-rule="nonzero" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_recording_置灰</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M15,3.75 C15.6903559,3.75 16.25,4.36424348 16.25,5.12195122 L16.25,5.12195122 L16.25,24.8780488 C16.25,25.6357565 15.6903559,26.25 15,26.25 C14.3096441,26.25 13.75,25.6357565 13.75,24.8780488 L13.75,24.8780488 L13.75,5.12195122 C13.75,4.36424348 14.3096441,3.75 15,3.75 Z M8.75,8.14024396 C9.44035592,8.14024396 10,8.75448741 10,9.51219512 L10,9.51219512 L10,22.1341463 C10,22.8918541 9.44035594,23.5060976 8.75,23.5060976 C8.05964406,23.5060976 7.5,22.8918541 7.5,22.1341463 L7.5,22.1341463 L7.5,9.51219512 C7.5,8.75448741 8.05964408,8.14024396 8.75,8.14024396 Z M21.25,9.78658537 C21.9403559,9.78658537 22.5,10.4008288 22.5,11.1585366 L22.5,11.1585366 L22.5,19.3902439 C22.5,20.1479516 21.9403559,20.7621951 21.25,20.7621951 C20.5596441,20.7621951 20,20.1479516 20,19.3902439 L20,19.3902439 L20,11.1585366 C20,10.4008288 20.5596441,9.78658537 21.25,9.78658537 L21.25,9.78658537 Z M2.5,13.0792683 C3.19035594,13.0792683 3.75,13.6935118 3.75,14.4512195 L3.75,14.4512195 L3.75,17.195122 C3.75,17.9528297 3.19035594,18.5670732 2.5,18.5670732 C1.80964406,18.5670732 1.25,17.9528297 1.25,17.195122 L1.25,17.195122 L1.25,14.4512195 C1.25,13.6935118 1.80964406,13.0792683 2.5,13.0792683 Z M27.5,12.5304878 C28.1903559,12.5304878 28.75,13.1447313 28.75,13.902439 L28.75,13.902439 L28.75,17.195122 C28.75,17.9528297 28.1903559,18.5670732 27.5,18.5670732 C26.8096441,18.5670732 26.25,17.9528297 26.25,17.195122 L26.25,17.195122 L26.25,13.902439 C26.25,13.1447313 26.8096441,12.5304878 27.5,12.5304878 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_public_recording_置灰"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="#8c8c8c">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#FFFFFF"
|
||||
fill-rule="nonzero"
|
||||
opacity="0.4"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_sound_高亮</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M24.7583397,4.62005731 C27.4880527,7.35539822 29.0500491,11.0538273 29.0500491,14.9963557 C29.0500491,18.9288504 27.4960317,22.6186701 24.7786082,25.3523044 C24.2919067,25.8419093 23.500454,25.844263 23.0108491,25.3575615 C22.5212442,24.87086 22.5188905,24.0794072 23.005592,23.5898023 C25.2619924,21.3199414 26.5500491,18.261612 26.5500491,14.9963557 C26.5500491,11.7227771 25.2553716,8.65729437 22.9887533,6.38600287 C22.5011009,5.89734506 22.5019159,5.10588925 22.9905737,4.61823685 C23.4792315,4.13058445 24.2706873,4.1313995 24.7583397,4.62005731 Z M10.1205429,6.94784595 C10.9471181,6.32406403 12.1228649,6.48846048 12.7466468,7.3150357 C12.9921773,7.64038878 13.125,8.03689024 13.125,8.44449277 L13.125,8.44449277 L13.125,21.5555072 C13.125,22.5910411 12.2855339,23.4305072 11.25,23.4305072 C10.8423975,23.4305072 10.445896,23.2976845 10.1205424,23.0521537 L10.1205424,23.0521537 L5.24625,19.37375 L2.1875,19.375 C1.03978325,19.375 0.0985095754,18.4911122 0.00725149941,17.366909 L0.00725149941,17.366909 L0,17.1875 L0,12.8125 C0,11.6043771 0.97937711,10.625 2.18734431,10.625 L2.18734431,10.625 L5.24625,10.62375 Z M20.8339211,7.77971662 C22.7313542,9.68106167 23.817491,12.2527705 23.817491,14.9932527 C23.817491,17.726759 22.7369012,20.2924841 20.8480084,22.1926451 C20.3613069,22.68225 19.5698541,22.6846037 19.0802492,22.1979022 C18.5906443,21.7112007 18.5882906,20.9197479 19.0749921,20.430143 C20.5028619,18.9937553 21.317491,17.0595205 21.317491,14.9932527 C21.317491,12.9217202 20.4986731,10.9829578 19.0643347,9.54566218 C18.5766823,9.05700436 18.5774973,8.26554856 19.0661551,7.77789616 C19.5548129,7.29024376 20.3462687,7.29105881 20.8339211,7.77971662 Z M17.2748263,11.171106 C18.2692465,12.191032 18.8369863,13.5580546 18.8369863,15.011416 C18.8369863,16.4828628 18.254983,17.8654134 17.2385436,18.8885927 C16.752004,19.3783585 15.9605521,19.3809738 15.4707863,18.8944342 C14.9810205,18.4078945 14.9784052,17.6164426 15.4649448,17.1266769 C16.0207131,16.5672234 16.3369863,15.8159154 16.3369863,15.011416 C16.3369863,14.2167688 16.0284925,13.4739674 15.4848193,12.9163495 C15.0028836,12.4220527 15.0129042,11.6306599 15.507201,11.1487242 C16.0014978,10.6667886 16.7928906,10.6768092 17.2748263,11.171106 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_public_sound_高亮"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="合并形状"
|
||||
fill="#ffffff"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_video</title>
|
||||
<defs>
|
||||
<path d="M18.5,16.25 C18.5,18.1829966 16.9329966,19.75 15,19.75 L3.5,19.75 C1.56700338,19.75 0,18.1829966 0,16.25 L0,7.75 C0,5.81700338 1.56700338,4.25 3.5,4.25 L15,4.25 C16.9309935,4.25 18.4967519,5.81375738 18.499995,7.74399186 L18.5,16.25 Z M15.0622948,5.75095171 L3.5,5.75 C2.41627143,5.75 1.53386428,6.61195944 1.50095171,7.68770517 L1.5,16.25 C1.5,17.3337286 2.36195944,18.2161357 3.43770517,18.2490483 L3.5,18.25 L15,18.25 C16.0837286,18.25 16.9661357,17.3880406 16.9990483,16.3122948 L17,16.25 L17,7.75 C17,6.66627143 16.1380406,5.78386428 15.0622948,5.75095171 Z M21.4365407,6.85498937 C22.2922763,6.40572819 23.3501852,6.7352408 23.7994463,7.59097638 C23.9311765,7.84189105 24,8.12104371 24,8.4044357 L24,8.4044357 L24,15.5955643 C24,16.5620626 23.2164983,17.3455643 22.25,17.3455643 C21.966608,17.3455643 21.6874553,17.2767408 21.4365407,17.1450106 L21.4365407,17.1450106 L19.5,16.128 L19.5,14.433 L22.1337915,15.8169138 C22.1472334,15.8239708 22.1612425,15.829764 22.1756381,15.8342489 L22.2198037,15.843734 L22.25,15.8455643 C22.3880712,15.8455643 22.5,15.7336355 22.5,15.5955643 L22.5,15.5955643 L22.5,8.4044357 C22.5,8.36395113 22.4901681,8.32407218 22.4713495,8.28822723 L22.4713495,8.28822723 L22.4563079,8.26319502 C22.3857267,8.15982216 22.2473075,8.12349035 22.1337915,8.18308622 L22.1337915,8.18308622 L19.5,9.565 L19.5,7.871 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="Public/ic_public_video" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="编组">
|
||||
<rect id="矩形" x="0" y="0" width="24" height="24"></rect>
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#000000" fill-rule="nonzero" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_video_置灰</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M23.125,20.3125 C23.125,22.7287458 21.1662458,24.6875 18.75,24.6875 L4.375,24.6875 C1.95875422,24.6875 0,22.7287458 0,20.3125 L0,9.6875 C0,7.27125422 1.95875422,5.3125 4.375,5.3125 L18.75,5.3125 C21.1638993,5.3125 23.1211951,7.26745161 23.1249945,9.68046173 L23.125,20.3125 Z M18.75,7.1875 L4.375,7.1875 C3.02033929,7.1875 1.91733035,8.2649493 1.87618963,9.60963146 L1.875,9.6875 L1.875,20.3125 C1.875,21.6671607 2.9524493,22.7701696 4.29713146,22.8113104 L4.375,22.8125 L18.75,22.8125 C20.1046607,22.8125 21.2076696,21.7350507 21.2488104,20.3903685 L21.25,20.3125 L21.25,9.6875 C21.25,8.33283929 20.1725507,7.22983035 18.8278685,7.18868963 L18.75,7.1875 Z M26.7956758,8.56873671 C27.8653453,8.00716024 29.1877314,8.419051 29.7493079,9.48872047 C29.9139707,9.80236381 30,10.1513046 30,10.5055446 L30,10.5055446 L30,19.4944554 C30,20.7025783 29.0206229,21.6819554 27.8125,21.6819554 C27.45826,21.6819554 27.1093192,21.595926 26.7956758,21.4312633 L26.7956758,21.4312633 L24.375,20.1595 L24.375,18.0415 L27.6672394,19.7711422 C27.6840417,19.7799634 27.7015532,19.787205 27.7195477,19.7928111 L27.7747546,19.8046675 L27.8125,19.8069554 C27.985089,19.8069554 28.125,19.6670444 28.125,19.4944554 L28.125,19.4944554 L28.125,10.5055446 C28.125,10.4549389 28.1127101,10.4050902 28.0891868,10.360284 L28.0891868,10.360284 L28.0703849,10.3289938 C27.9821584,10.1997777 27.8091343,10.1543629 27.6672394,10.2288578 L27.6672394,10.2288578 L24.375,11.9565 L24.375,9.8395 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_public_video_置灰"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#FFFFFF"
|
||||
fill-rule="nonzero"
|
||||
opacity="0.4"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.2 KiB |
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_public_video_filled</title>
|
||||
<defs>
|
||||
<path d="M18,12.25 C18,14.1829966 16.4329966,15.75 14.5,15.75 L3.5,15.75 C1.56700338,15.75 2.36723813e-16,14.1829966 0,12.25 L0,3.75 C-2.36723813e-16,1.81700338 1.56700338,0.25 3.5,0.25 L14.5,0.25 C16.4329966,0.25 18,1.81700338 18,3.75 L18,12.25 Z M23.8189379,3.30399329 C23.9377676,3.52337101 24,3.7689244 24,4.01841801 L24,11.981582 C24,12.8100091 23.3284271,13.481582 22.5,13.481582 C22.2505064,13.481582 22.004953,13.4193495 21.7855753,13.3005199 L19,11.7911304 L19,4.20813041 L21.7855753,2.69948006 C22.5140046,2.30491418 23.4243721,2.57556397 23.8189379,3.30399329 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="Public/ic_public_video_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Public/ic_public_video_filled备份" transform="translate(0.000000, 4.000000)">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#000000" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_voice</title>
|
||||
<defs>
|
||||
<path d="M23.4375,13.125 C23.955267,13.125 24.375,13.544733 24.375,14.0625 C24.375,18.9236084 20.6752266,22.9205885 15.9379544,23.3911656 L15.9375,26.5625 C15.9375,27.080267 15.517767,27.5 15,27.5 C14.5007247,27.5 14.092606,27.1097125 14.0640915,26.6175852 L14.0625,26.5625 L14.0620456,23.3911656 C9.32477337,22.9205885 5.625,18.9236084 5.625,14.0625 C5.625,13.544733 6.04473305,13.125 6.5625,13.125 C7.08026695,13.125 7.5,13.544733 7.5,14.0625 C7.5,18.2046356 10.8578644,21.5625 15,21.5625 C19.1421356,21.5625 22.5,18.2046356 22.5,14.0625 C22.5,13.544733 22.919733,13.125 23.4375,13.125 Z M15,2.5 C17.7614237,2.5 20,4.73857625 20,7.5 L20,7.5 L20,14.0625 C20,16.8239237 17.7614237,19.0625 15,19.0625 C12.2385763,19.0625 10,16.8239237 10,14.0625 L10,14.0625 L10,7.5 C10,4.73857625 12.2385763,2.5 15,2.5 Z M15,4.375 C13.2741102,4.375 11.875,5.77411016 11.875,7.5 L11.875,7.5 L11.875,14.0625 C11.875,15.7883898 13.2741102,17.1875 15,17.1875 C16.7258898,17.1875 18.125,15.7883898 18.125,14.0625 L18.125,14.0625 L18.125,7.5 C18.125,5.77411016 16.7258898,4.375 15,4.375 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="ic_public_voice" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#FFFFFF" fill-rule="nonzero" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 30 30" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_voice_置灰备份</title>
|
||||
<defs>
|
||||
<path d="M4.5840794,2.81892817 L4.63388348,2.86611652 L10,8.233 L10,8.232 L22.251828,20.4859542 L22.251828,20.4859542 L27.1338835,25.3661165 C27.6220388,25.8542719 27.6220388,26.6457281 27.1338835,27.1338835 C26.662,27.605767 25.9066986,27.6214964 25.4159206,27.1810718 L25.3661165,27.1338835 L20.3639339,22.1307067 C19.1563621,22.9351332 17.7579327,23.4756772 16.2510166,23.6699679 L16.25,26.25 C16.25,26.9403559 15.6903559,27.5 15,27.5 C14.3305639,27.5 13.7840379,26.9737599 13.7515298,26.3123876 L13.75,26.25 L13.7499848,23.670097 C8.99018175,23.0569069 5.3125,18.9891877 5.3125,14.0625 C5.3125,13.3721441 5.87214406,12.8125 6.5625,12.8125 C7.25285594,12.8125 7.8125,13.3721441 7.8125,14.0625 C7.8125,18.0320466 11.0304534,21.25 15,21.25 C16.2902446,21.25 17.5010848,20.9100289 18.5478269,20.3147801 L16.9146871,18.6827871 C16.3249474,18.9274551 15.6782444,19.0625 15,19.0625 C12.2385763,19.0625 10,16.8239237 10,14.0625 L10,14.0625 L10,11.767 L2.86611652,4.63388348 C2.37796116,4.14572811 2.37796116,3.35427189 2.86611652,2.86611652 C3.33800004,2.394233 4.09330136,2.37850355 4.5840794,2.81892817 Z M23.4375,12.8125 C24.1278559,12.8125 24.6875,13.3721441 24.6875,14.0625 C24.6875,15.8442574 24.2064821,17.5136671 23.3672219,18.9479535 L21.5170076,17.0978642 C21.9314847,16.2094873 22.1696595,15.2223204 22.1865371,14.1813585 L22.1875,14.0625 C22.1875,13.3721441 22.7471441,12.8125 23.4375,12.8125 Z M15,2.5 C17.7614237,2.5 20,4.73857625 20,7.5 L20,7.5 L20,14.0625 C20,14.5257652 19.9369964,14.9743151 19.8190903,15.4000487 L10.2760825,5.85737179 C10.9556433,3.90283795 12.8139965,2.5 15,2.5 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="ic_public_voice_置灰备份" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#006CDE" fill-rule="nonzero" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.1 KiB |
@ -1,32 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px"
|
||||
height="30px"
|
||||
viewBox="0 0 30 30"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>ic_public_voice_置灰</title>
|
||||
<defs>
|
||||
<path
|
||||
d="M23.4375,13.125 C23.955267,13.125 24.375,13.544733 24.375,14.0625 C24.375,18.9236084 20.6752266,22.9205885 15.9379544,23.3911656 L15.9375,26.5625 C15.9375,27.080267 15.517767,27.5 15,27.5 C14.5007247,27.5 14.092606,27.1097125 14.0640915,26.6175852 L14.0625,26.5625 L14.0620456,23.3911656 C9.32477337,22.9205885 5.625,18.9236084 5.625,14.0625 C5.625,13.544733 6.04473305,13.125 6.5625,13.125 C7.08026695,13.125 7.5,13.544733 7.5,14.0625 C7.5,18.2046356 10.8578644,21.5625 15,21.5625 C19.1421356,21.5625 22.5,18.2046356 22.5,14.0625 C22.5,13.544733 22.919733,13.125 23.4375,13.125 Z M15,2.5 C17.7614237,2.5 20,4.73857625 20,7.5 L20,7.5 L20,14.0625 C20,16.8239237 17.7614237,19.0625 15,19.0625 C12.2385763,19.0625 10,16.8239237 10,14.0625 L10,14.0625 L10,7.5 C10,4.73857625 12.2385763,2.5 15,2.5 Z M15,4.375 C13.2741102,4.375 11.875,5.77411016 11.875,7.5 L11.875,7.5 L11.875,14.0625 C11.875,15.7883898 13.2741102,17.1875 15,17.1875 C16.7258898,17.1875 18.125,15.7883898 18.125,14.0625 L18.125,14.0625 L18.125,7.5 C18.125,5.77411016 16.7258898,4.375 15,4.375 Z"
|
||||
id="path-1"></path>
|
||||
</defs>
|
||||
<g
|
||||
id="ic_public_voice_置灰"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd">
|
||||
<mask
|
||||
id="mask-2"
|
||||
fill="#8c8c8c">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use
|
||||
id="形状结合"
|
||||
fill="#FFFFFF"
|
||||
fill-rule="nonzero"
|
||||
opacity="0.4"
|
||||
xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.8 KiB |
@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_rocerder</title>
|
||||
<g id="Public/ic_rocerder" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24-copy-2"></g>
|
||||
<path d="M2,14.8491211 C2.55228475,14.8491211 3,14.4014058 3,13.8491211 C3,13.2968363 2.55228475,12.8491211 2,12.8491211 C1.44771525,12.8491211 1,13.2968363 1,13.8491211 C1,14.4014058 1.44771525,14.8491211 2,14.8491211 Z" id="椭圆形" fill="#000000"></path>
|
||||
<path d="M22,14.8491211 C22.5522847,14.8491211 23,14.4014058 23,13.8491211 C23,13.2968363 22.5522847,12.8491211 22,12.8491211 C21.4477153,12.8491211 21,13.2968363 21,13.8491211 C21,14.4014058 21.4477153,14.8491211 22,14.8491211 Z" id="椭圆形备份-6" fill="#000000"></path>
|
||||
<path d="M2,12.4629822 C2.55228475,12.4629822 3,12.0152669 3,11.4629822 C3,10.9106974 2.55228475,10.4629822 2,10.4629822 C1.44771525,10.4629822 1,10.9106974 1,11.4629822 C1,12.0152669 1.44771525,12.4629822 2,12.4629822 Z" id="椭圆形备份" fill="#000000"></path>
|
||||
<path d="M22,12.0243902 C22.5522847,12.0243902 23,11.576675 23,11.0243902 C23,10.4721055 22.5522847,10.0243902 22,10.0243902 C21.4477153,10.0243902 21,10.4721055 21,11.0243902 C21,11.576675 21.4477153,12.0243902 22,12.0243902 Z" id="椭圆形备份-7" fill="#000000"></path>
|
||||
<polygon id="矩形" fill="#000000" points="1 11.4629822 3 11.4629822 3 13.8852081 1 13.8852081"></polygon>
|
||||
<polygon id="矩形备份-3" fill="#000000" points="21 11.0243902 23 11.0243902 23 13.8491211 21 13.8491211"></polygon>
|
||||
<path d="M7,18.804878 C7.55228475,18.804878 8,18.3571628 8,17.804878 C8,17.2525933 7.55228475,16.804878 7,16.804878 C6.44771525,16.804878 6,17.2525933 6,17.804878 C6,18.3571628 6.44771525,18.804878 7,18.804878 Z" id="椭圆形" fill="#000000"></path>
|
||||
<path d="M17,16.6097561 C17.5522847,16.6097561 18,16.1620408 18,15.6097561 C18,15.0574713 17.5522847,14.6097561 17,14.6097561 C16.4477153,14.6097561 16,15.0574713 16,15.6097561 C16,16.1620408 16.4477153,16.6097561 17,16.6097561 Z" id="椭圆形备份-4" fill="#000000"></path>
|
||||
<path d="M12,21 C12.5522847,21 13,20.5522847 13,20 C13,19.4477153 12.5522847,19 12,19 C11.4477153,19 11,19.4477153 11,20 C11,20.5522847 11.4477153,21 12,21 Z" id="椭圆形备份-2" fill="#000000"></path>
|
||||
<path d="M7,8.51428223 C7.55228475,8.51428223 8,8.06656698 8,7.51428223 C8,6.96199748 7.55228475,6.51428223 7,6.51428223 C6.44771525,6.51428223 6,6.96199748 6,7.51428223 C6,8.06656698 6.44771525,8.51428223 7,8.51428223 Z" id="椭圆形备份" fill="#000000"></path>
|
||||
<path d="M17,9.82926829 C17.5522847,9.82926829 18,9.38155304 18,8.82926829 C18,8.27698354 17.5522847,7.82926829 17,7.82926829 C16.4477153,7.82926829 16,8.27698354 16,8.82926829 C16,9.38155304 16.4477153,9.82926829 17,9.82926829 Z" id="椭圆形备份-5" fill="#000000"></path>
|
||||
<path d="M12,5.0019989 C12.5522847,5.0019989 13,4.55428365 13,4.0019989 C13,3.44971415 12.5522847,3.0019989 12,3.0019989 C11.4477153,3.0019989 11,3.44971415 11,4.0019989 C11,4.55428365 11.4477153,5.0019989 12,5.0019989 Z" id="椭圆形备份-3" fill="#000000"></path>
|
||||
<polygon id="矩形" fill="#000000" points="6 7.46931458 8 7.46931458 8 17.804878 6 17.804878"></polygon>
|
||||
<polygon id="矩形备份-2" fill="#000000" points="16 8.82926829 18 8.82926829 18 15.6097561 16 15.6097561"></polygon>
|
||||
<polygon id="矩形备份" fill="#000000" points="11 4.0019989 13 4.0019989 13 20 11 20"></polygon>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.6 KiB |
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_video_filled</title>
|
||||
<defs>
|
||||
<path d="M3.66726352,1.00514254 L3.70710678,1.04289322 L4.749,2.084 L4.74975,2.0855 L20.91425,18.2500492 L20.915,18.25 L21.7071068,19.0428932 C22.0976311,19.4334175 22.0976311,20.0665825 21.7071068,20.4571068 C21.3296,20.8346136 20.7253589,20.8471972 20.3327365,20.4948575 L20.2928932,20.4571068 L17.1365068,17.3019939 C16.4949247,18.0362009 15.5516254,18.5 14.5,18.5 L3.5,18.5 C1.56700338,18.5 2.36723813e-16,16.9329966 0,15 L0,6.5 C-2.11154192e-16,4.77579518 1.24676744,3.3427885 2.88794842,3.05333384 L2.29289322,2.45710678 C1.90236893,2.06658249 1.90236893,1.43341751 2.29289322,1.04289322 C2.67040003,0.665386403 3.27464109,0.652802843 3.66726352,1.00514254 Z M23.8189379,6.05399329 C23.9377676,6.27337101 24,6.5189244 24,6.76841801 L24,14.731582 C24,15.5600091 23.3284271,16.231582 22.5,16.231582 C22.2505064,16.231582 22.004953,16.1693495 21.7855753,16.0505199 L19.711,14.926 L19,14.215 L19,6.95813041 L21.7855753,5.44948006 C22.5140046,5.05491418 23.4243721,5.32556397 23.8189379,6.05399329 Z M7.784,3 L14.5,3 C16.4329966,3 18,4.56700338 18,6.5 L18,13.215 L7.784,3 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="Public/ic_video_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="编组">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<g id="编组-2" transform="translate(0.000000, 1.250000)">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="形状结合" fill="#000000" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.8 KiB |
@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_voice</title>
|
||||
<g id="Public/ic_voice" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24" transform="translate(0.000000, -0.250000)"></g>
|
||||
<g id="编组-2" transform="translate(4.000000, 2.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<path d="M14.75,8.5 C15.1642136,8.5 15.5,8.83578644 15.5,9.25 C15.5,13.1388445 12.5402456,16.3364013 8.75048697,16.7129202 L8.75,19.25 C8.75,19.6642136 8.41421356,20 8,20 C7.60057978,20 7.27408478,19.68777 7.25127317,19.2940682 L7.25,19.25 L7.25051918,16.7130201 C3.46027831,16.3369673 0.5,13.1391887 0.5,9.25 C0.5,8.83578644 0.835786438,8.5 1.25,8.5 C1.66421356,8.5 2,8.83578644 2,9.25 C2,12.5637085 4.6862915,15.25 8,15.25 C11.3137085,15.25 14,12.5637085 14,9.25 C14,8.83578644 14.3357864,8.5 14.75,8.5 Z M8,0 C10.209139,0 12,1.790861 12,4 L12,4 L12,9.25 C12,11.459139 10.209139,13.25 8,13.25 C5.790861,13.25 4,11.459139 4,9.25 L4,9.25 L4,4 C4,1.790861 5.790861,0 8,0 Z M8,1.5 C6.61928813,1.5 5.5,2.61928813 5.5,4 L5.5,4 L5.5,9.25 C5.5,10.6307119 6.61928813,11.75 8,11.75 C9.38071187,11.75 10.5,10.6307119 10.5,9.25 L10.5,9.25 L10.5,4 C10.5,2.61928813 9.38071187,1.5 8,1.5 Z" id="形状结合"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.4 KiB |
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_voice_filled</title>
|
||||
<g id="Public/ic_voice_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="编组" transform="translate(1.250000, 2.000000)" fill="#000000" fill-rule="nonzero">
|
||||
<path d="M2.41726352,0.255142537 L2.45710678,0.292893219 L3.499,1.334 L3.49975,1.3355 L19.66425,17.5000492 L19.665,17.5 L20.4571068,18.2928932 C20.8476311,18.6834175 20.8476311,19.3165825 20.4571068,19.7071068 C20.0796,20.0846136 19.4753589,20.0971972 19.0827365,19.7448575 L19.0428932,19.7071068 L15.0399298,15.7053761 C14.0740246,16.3485531 12.9555498,16.7807191 11.7503445,16.9360348 L11.75,19 C11.75,19.5522847 11.3022847,20 10.75,20 C10.2144512,20 9.77723028,19.5790079 9.75122383,19.0499101 L9.75,19 L9.75066216,16.9361644 C5.94249276,16.4459097 3,13.1915829 3,9.25 C3,8.69771525 3.44771525,8.25 4,8.25 C4.55228475,8.25 5,8.69771525 5,9.25 C5,12.4256373 7.57436269,15 10.75,15 C11.7815987,15 12.7497473,14.7283376 13.5868084,14.2526501 L12.2805277,12.9467365 C11.8090646,13.1421505 11.2921271,13.25 10.75,13.25 C8.540861,13.25 6.75,11.459139 6.75,9.25 L6.75,9.25 L6.75,7.415 L1.04289322,1.70710678 C0.652368927,1.31658249 0.652368927,0.683417511 1.04289322,0.292893219 C1.42040003,-0.0846135965 2.02464109,-0.0971971571 2.41726352,0.255142537 Z M17.5,8.25 C18.0522847,8.25 18.5,8.69771525 18.5,9.25 C18.5,10.6754885 18.1151411,12.0110883 17.4436609,13.1585621 L15.9635063,11.6785053 C16.2951495,10.9677483 16.4857262,10.1779399 16.4992297,9.34508676 L16.5,9.25 C16.5,8.69771525 16.9477153,8.25 17.5,8.25 Z M10.75,-5.55111512e-17 C12.959139,-5.55111512e-17 14.75,1.790861 14.75,4 L14.75,4 L14.75,9.25 C14.75,9.62054191 14.6996163,9.97931606 14.6053259,10.3198453 L6.97064449,2.68653469 C7.5141107,1.12257529 9.0009596,-5.55111512e-17 10.75,-5.55111512e-17 Z" id="形状结合"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_volume</title>
|
||||
<g id="Public/ic_volume" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<path d="M19.6297132,3.97021633 C21.767174,6.11208412 22.9900393,9.00753275 22.9900393,12.0946605 C22.9900393,15.1739324 21.7734214,18.0626391 19.6455849,20.2031692 C19.3535641,20.4969322 18.8786924,20.4983444 18.5849295,20.2063235 C18.2911665,19.9143026 18.2897543,19.4394309 18.5817752,19.145668 C20.4329978,17.2834019 21.4900393,14.7735894 21.4900393,12.0946605 C21.4900393,9.4089026 20.4275654,6.89322181 18.5679613,5.02978367 C18.2753698,4.73658898 18.2758589,4.2617155 18.5690535,3.96912406 C18.8622482,3.67653262 19.3371217,3.67702165 19.6297132,3.97021633 Z M7.67146054,5.77188408 C8.4325828,5.17622318 9.53247286,5.31035612 10.1281338,6.07147837 C10.3690847,6.37936011 10.5,6.75905937 10.5,7.15001783 L10.5,7.15001783 L10.5,17.045134 C10.5,18.0116323 9.71649831,18.795134 8.75,18.795134 C8.35904154,18.795134 7.97934229,18.6642187 7.67138834,18.4232113 L7.67138834,18.4232113 L4.38,15.8465759 L2.25,15.8475759 C1.05913601,15.8475759 0.084355084,14.9224143 0.00519081254,13.7516247 L0.00519081254,13.7516247 L0,13.5975759 L0,10.5975759 C0,9.35493524 1.00735931,8.34757593 2.24981101,8.34757595 L2.24981101,8.34757595 L4.379,8.34657593 Z M16.4901783,6.49794378 C17.9618152,7.97261488 18.8039928,9.96668727 18.8039928,12.0921781 C18.8039928,14.2122592 17.966117,16.2016903 16.5011051,17.6754418 C16.2090842,17.9692047 15.7342125,17.9706169 15.4404496,17.678596 C15.1466866,17.3865751 15.1452744,16.9117035 15.4372953,16.6179406 C16.6256934,15.4224531 17.3039928,13.8119162 17.3039928,12.0921781 C17.3039928,10.3680571 16.6222066,8.75375258 15.4284264,7.55751111 C15.1358349,7.26431643 15.136324,6.78944294 15.4295187,6.4968515 C15.7227133,6.20426006 16.1975868,6.20474909 16.4901783,6.49794378 Z M8.94687625,6.99594076 C8.86178184,6.88720901 8.70465469,6.86804716 8.59586895,6.95318383 L8.59586895,6.95318383 L4.89763507,9.84690879 L2.25,9.84757593 C1.83578644,9.84757593 1.5,10.1833624 1.5,10.5975759 L1.5,10.5975759 L1.5,13.5975759 C1.5,14.0117895 1.83578644,14.3475759 2.24981101,14.347576 L2.24981101,14.347576 L4.89755819,14.3469088 L8.59592293,17.2420103 C8.63990604,17.2764318 8.69414879,17.295134 8.75,17.295134 C8.88807119,17.295134 9,17.1832052 9,17.045134 L9,17.045134 L9,7.15001783 C9,7.09416662 8.98129781,7.03992387 8.94687625,6.99594076 Z M13.6408603,9.2089851 C14.3913218,9.97869506 14.819589,11.0098911 14.819589,12.1067087 C14.819589,13.2171715 14.3805594,14.2600877 13.613475,15.0322585 C13.3215512,15.326118 12.8466801,15.3276871 12.5528206,15.0357634 C12.2589611,14.7438396 12.2573919,14.2689685 12.5493157,13.975109 C13.0399975,13.4811736 13.319589,12.817003 13.319589,12.1067087 C13.319589,11.4051196 13.0468694,10.7484563 12.5668561,10.2561312 C12.2776947,9.9595531 12.2837071,9.48471743 12.5802852,9.19555603 C12.8768633,8.90639462 13.3516989,8.91240702 13.6408603,9.2089851 Z" id="合并形状" fill="#000000" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.2 KiB |
@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Public/ic_volume_filled</title>
|
||||
<defs>
|
||||
<path d="M19.8066718,0.293621778 C21.9904422,2.4818945 23.2400393,5.44063777 23.2400393,8.59466051 C23.2400393,11.7406563 21.9968253,14.692512 19.8228866,16.8794194 C19.4335254,17.2711033 18.8003632,17.2729863 18.4086793,16.8836251 C18.0169953,16.4942639 18.0151124,15.8611017 18.4044736,15.4694178 C20.2095939,13.653529 21.2400393,11.2068655 21.2400393,8.59466051 C21.2400393,5.97579758 20.2042973,3.52341143 18.3910026,1.70637822 C18.0008807,1.31545197 18.0015327,0.68228733 18.392459,0.29216541 C18.7833852,-0.09795651 19.4165499,-0.0973044718 19.8066718,0.293621778 Z M8.09643434,2.15585269 C8.75769451,1.65682715 9.69829192,1.78834431 10.1973175,2.44960449 C10.3937418,2.70988695 10.5,3.02708812 10.5,3.35317015 L10.5,3.35317015 L10.5,13.8419817 C10.5,14.6704088 9.82842712,15.3419817 9,15.3419817 C8.67391797,15.3419817 8.35671681,15.2357235 8.09643396,15.0392989 L8.09643396,15.0392989 L4.197,12.0965759 L1.75,12.0975759 C0.831826603,12.0975759 0.0788076603,11.3904657 0.00580119953,10.4911031 L0.00580119953,10.4911031 L0,10.3475759 L0,6.84757593 C0,5.88107761 0.783501688,5.09757593 1.74987545,5.09757594 L1.74987545,5.09757594 L4.197,5.09657593 Z M16.6671369,2.82134922 C18.1850833,4.34242527 19.0539928,6.3997923 19.0539928,8.59217809 C19.0539928,10.7789831 18.1895209,12.8315632 16.6784067,14.351692 C16.2890455,14.7433759 15.6558833,14.7452589 15.2641994,14.3558977 C14.8725155,13.9665365 14.8706325,13.3333743 15.2599937,12.9416903 C16.4022895,11.7925802 17.0539928,10.2451924 17.0539928,8.59217809 C17.0539928,6.93495211 16.3989385,5.38394219 15.2514677,4.23410567 C14.8613458,3.84317942 14.8619979,3.21001478 15.2529241,2.81989286 C15.6438504,2.42977094 16.277015,2.43042297 16.6671369,2.82134922 Z M13.819861,5.53446075 C14.6153972,6.35040151 15.069589,7.44401964 15.069589,8.60670874 C15.069589,9.7838662 14.6039864,10.8899067 13.7908349,11.7084501 C13.4016032,12.1002627 12.7684416,12.1023549 12.376629,11.7131233 C11.9848164,11.3238916 11.9827241,10.69073 12.3719558,10.2989174 C12.8165705,9.85135462 13.069589,9.25030826 13.069589,8.60670874 C13.069589,7.97099098 12.822794,7.37674986 12.3878554,6.93065553 C12.0023069,6.53521809 12.0103234,5.90210387 12.4057608,5.51655532 C12.8011983,5.13100678 13.4343125,5.13902331 13.819861,5.53446075 Z" id="path-1"></path>
|
||||
</defs>
|
||||
<g id="Public/ic_volume_filled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="symbol/frame/symbol_grid24"></g>
|
||||
<g id="public/ic_volume_filled" transform="translate(0.000000, 3.402424)">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="合并形状" fill="#000000" xlink:href="#path-1"></use>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.9 KiB |
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="110px" height="110px" viewBox="0 0 110 110" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>编组 2</title>
|
||||
<g id="OH原生通话-330版本" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="OH3.0_PAD竖屏_运营商_语音_通话中" transform="translate(-345.000000, -140.000000)" fill="#FFFFFF">
|
||||
<g id="编组-2" transform="translate(345.000000, 140.000000)">
|
||||
<circle id="Oval-3" opacity="0.4" cx="55" cy="55" r="55"></circle>
|
||||
<path d="M54.8170786,70.7142857 C71.8331195,70.7142857 80.5941163,77.4078211 85.2975463,83.4784229 L86.1583479,84.6436348 C86.2937461,84.8358854 86.4252039,85.0269966 86.5528621,85.2167229 L87.2365391,86.2753585 L87.8445751,87.2944142 L88.3826675,88.2639591 L89.0711248,89.6037197 L89.9495482,91.4484127 L90.1924126,92.0107445 C81.0320017,100.723836 68.6404995,106.071429 55,106.071429 C41.2264859,106.071429 28.7264468,100.619034 19.5405291,91.7548904 L19.6846089,91.4484127 L20.5905628,89.6037197 L21.289861,88.2639591 L21.833087,87.2944142 L22.4447339,86.2753585 L23.1306297,85.2167229 L23.5257994,84.6436348 L23.5257994,84.6436348 L24.3869289,83.4784229 C29.0888654,77.4078211 37.8010377,70.7142857 54.8170786,70.7142857 Z" id="路径"></path>
|
||||
<path d="M54.8170786,25.5357143 C44.5110507,25.5357143 36.1563643,33.8904007 36.1563643,44.1964286 C36.1563643,54.5024565 44.5110507,62.8571429 54.8170786,62.8571429 C65.1231065,62.8571429 73.4777929,54.5024565 73.4777929,44.1964286 C73.4777929,33.8904007 65.1231065,25.5357143 54.8170786,25.5357143 Z" id="路径" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.7 KiB |
@ -124,6 +124,14 @@
|
||||
"name": "phoneHandset",
|
||||
"value": "手机听筒"
|
||||
},
|
||||
{
|
||||
"name": "wiredHeadset",
|
||||
"value": "有线耳机"
|
||||
},
|
||||
{
|
||||
"name": "blueetoothDevice",
|
||||
"value": "蓝牙设备"
|
||||
},
|
||||
{
|
||||
"name": "mobileNetwork",
|
||||
"value": "无法访问移动网络。"
|
||||
@ -207,6 +215,38 @@
|
||||
{
|
||||
"name": "end_holding_call",
|
||||
"value": "接听来电将挂断之前保持的通话"
|
||||
},
|
||||
{
|
||||
"name": "READ_CONTACTS",
|
||||
"value": "读取联系人"
|
||||
},
|
||||
{
|
||||
"name": "SEND_MESSAGES",
|
||||
"value": "发送短信"
|
||||
},
|
||||
{
|
||||
"name": "GET_BUNDLE_INFO_PRIVILEGED",
|
||||
"value": "获取绑定信息特权"
|
||||
},
|
||||
{
|
||||
"name": "GET_TELEPHONY_STATE",
|
||||
"value": "获取电话状态"
|
||||
},
|
||||
{
|
||||
"name": "NOTIFICATION_CONTROLLER",
|
||||
"value": "发送通知"
|
||||
},
|
||||
{
|
||||
"name": "START_ABILITIES_FROM_BACKGROUND",
|
||||
"value": "从后台启动的能力"
|
||||
},
|
||||
{
|
||||
"name": "KEEP_BACKGROUND_RUNNING",
|
||||
"value": "后台运行能力"
|
||||
},
|
||||
{
|
||||
"name": "ANSWER_CALL",
|
||||
"value": "接听电话"
|
||||
}
|
||||
]
|
||||
}
|
@ -51,7 +51,7 @@ export default struct HeadComponent {
|
||||
.fontSize(20)
|
||||
.fontFamily('HarmonyHeiTi-Bold')
|
||||
.fontWeight(FontWeight.Medium)
|
||||
.fontColor($r('app.color.font_color_182431'))
|
||||
.fontColor($r('sys.color.ohos_id_color_text_primary'))
|
||||
.maxLines(1)
|
||||
.textOverflow({ overflow: TextOverflow.Ellipsis })
|
||||
.textAlign(TextAlign.Start)
|
||||
|
@ -36,8 +36,8 @@ export default struct listItem {
|
||||
@Prop isDisabled: boolean;
|
||||
@Prop cardType: number;
|
||||
@Link controlSwitch: boolean;
|
||||
@State title: any = '';
|
||||
@State describe: any = '';
|
||||
@State title: Resource = $r('app.string.mobile_data_dataRoaming');
|
||||
@State describe: Resource = $r('app.string.mobile_data_enableDataWhileRoaming');
|
||||
@Prop isSupport: boolean;
|
||||
@State titleopacity: boolean = false;
|
||||
@Prop isCon: number;
|
||||
@ -48,7 +48,7 @@ export default struct listItem {
|
||||
builder: dataRomingDialog({ isCon: this.isCon, isMsg: $controlSwitch, cardType: this.cardType }),
|
||||
alignment: DialogAlignment.Bottom,
|
||||
autoCancel: false,
|
||||
offset: { dx: 0, dy: -10 }
|
||||
offset: { dx: 0, dy: -16 }
|
||||
})
|
||||
|
||||
clickHandle() {
|
||||
@ -71,14 +71,14 @@ export default struct listItem {
|
||||
|
||||
build() {
|
||||
Column() {
|
||||
Row({}) {
|
||||
Row() {
|
||||
Flex({ justifyContent: FlexAlign.SpaceBetween, alignItems: ItemAlign.Center }) {
|
||||
Column() {
|
||||
Text(this.title)
|
||||
.fontFamily('HarmonyHeiTi')
|
||||
.fontSize(16)
|
||||
.fontSize($r('sys.float.ohos_id_text_size_body1'))
|
||||
.fontWeight(FontWeight.Medium)
|
||||
.fontColor('#000')
|
||||
.fontColor($r('sys.color.ohos_id_color_text_primary'))
|
||||
.opacity(this.controlSwitch ? 0.9 : 0.6)
|
||||
.visibility(this.isSupport ? Visibility.None : Visibility.Visible)
|
||||
.letterSpacing(1)
|
||||
@ -87,12 +87,13 @@ export default struct listItem {
|
||||
Text(this.describe)
|
||||
.margin({ top: 2 })
|
||||
.fontFamily('HarmonyHeiTi')
|
||||
.fontSize(14)
|
||||
.fontColor('#555')
|
||||
.fontWeight(FontWeight.Regular)
|
||||
.fontSize($r('sys.float.ohos_id_text_size_body2'))
|
||||
.fontColor($r('sys.color.ohos_id_color_text_secondary'))
|
||||
.opacity(0.6)
|
||||
.lineHeight(19)
|
||||
.letterSpacing(1)
|
||||
.visibility(this.describe == '' ? Visibility.None : Visibility.Visible)
|
||||
.visibility(this.describe == $r("app.string.mobile_empty_string") ? Visibility.None : Visibility.Visible)
|
||||
}
|
||||
.width('100%')
|
||||
.alignItems(HorizontalAlign.Start)
|
||||
@ -103,10 +104,6 @@ export default struct listItem {
|
||||
})
|
||||
.enabled(this.isDisabled)
|
||||
|
||||
Image($r('app.media.right'))
|
||||
.width(16)
|
||||
.height(18)
|
||||
.visibility(!this.isBtn ? Visibility.Visible : Visibility.None)
|
||||
Toggle({ type: ToggleType.Switch, isOn: this.controlSwitch })
|
||||
.width(36)
|
||||
.height(20)
|
||||
@ -115,7 +112,6 @@ export default struct listItem {
|
||||
this.controlSwitch = !this.controlSwitch;
|
||||
LogUtils.i(TAG, 'onclick cardType is :' + JSON.stringify(this.cardType) + 'switcher is:' + JSON.stringify(this.isCon) + "Switch status:" + this.controlSwitch);
|
||||
if (this.controlSwitch && this.isCon === 0) {
|
||||
this.dialogTitle = this.title;
|
||||
this.recordTypeDialog.open();
|
||||
} else if (this.controlSwitch == false && this.isCon === 0) {
|
||||
this.cardType === 0 ? disableCellularDataRoamingCardOne() : disableCellularDataRoamingCardTwo();
|
||||
@ -132,7 +128,7 @@ export default struct listItem {
|
||||
}
|
||||
.backgroundColor($r("sys.color.ohos_id_color_foreground_contrary"))
|
||||
.opacity(this.isDisabled ? 1 : 0.4)
|
||||
.margin({ top: 10, bottom: this.isSupport ? 5 : 11 })
|
||||
.margin({ top: 8, bottom: this.isSupport ? 5 : 11 })
|
||||
.onClick(() => {
|
||||
if (!this.isDisabled) {
|
||||
return;
|
||||
@ -163,7 +159,6 @@ struct dataRomingDialog {
|
||||
.fontSize($r('sys.float.ohos_id_text_size_body1'))
|
||||
.fontWeight(FontWeight.Regular)
|
||||
.textAlign(TextAlign.Start)
|
||||
.height(56)
|
||||
.fontFamily('HarmonyHeiTi')
|
||||
.letterSpacing(3)
|
||||
.visibility(this.isCon == 0 ? Visibility.Visible : Visibility.None)
|
||||
@ -174,9 +169,9 @@ struct dataRomingDialog {
|
||||
Text(publiccontent.strings.cancel)
|
||||
.fontWeight(FontWeight.Medium)
|
||||
.fontFamily("HarmonnyHeiTi")
|
||||
.lineHeight(21)
|
||||
.height(21)
|
||||
.fontColor($r('sys.color.ohos_id_color_text_primary_activated'))
|
||||
.fontSize(16)
|
||||
.fontSize($r('sys.float.ohos_id_text_size_button1'))
|
||||
.onClick(() => {
|
||||
LogUtils.i(TAG, "dataRomingDialog onclick cancel");
|
||||
this.controller.close();
|
||||
@ -187,19 +182,20 @@ struct dataRomingDialog {
|
||||
Text(publiccontent.strings.confirm)
|
||||
.fontWeight(FontWeight.Medium)
|
||||
.fontFamily("HarmonnyHeiTi")
|
||||
.lineHeight(21)
|
||||
.height(21)
|
||||
.fontColor($r('sys.color.ohos_id_color_text_primary_activated'))
|
||||
.fontSize(16)
|
||||
.fontSize($r('sys.float.ohos_id_text_size_button1'))
|
||||
.onClick(() => {
|
||||
LogUtils.i(TAG, "dataRomingDialog onclick confim toggletype: " + JSON.stringify(this.isCon) + " for cardtype:" + JSON.stringify(this.cardType));
|
||||
this.controller.close();
|
||||
this.isMsg = true;
|
||||
this.cardType == 0 ? enableCellularDataRoamingCardOne() : enableCellularDataRoamingCardTwo();
|
||||
this.cardType == 0 ? enableCellularDataRoamingCardOne() : enableCellularDataRoamingCardTwo();
|
||||
})
|
||||
}
|
||||
.margin({ top: 18 })
|
||||
.margin({ top: 8 })
|
||||
.height(56)
|
||||
.padding({top: 12})
|
||||
}
|
||||
.height(183)
|
||||
.padding({ left: 24, right: 24 })
|
||||
.borderRadius(20)
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
*/
|
||||
@Component
|
||||
export struct SubHeader {
|
||||
@State titleContent: any = '';
|
||||
@State titleContent: Resource = $r('app.string.mobile_data_card1');
|
||||
@Prop subTitleContent: string;
|
||||
|
||||
titleContenet() {
|
||||
|
@ -17,7 +17,7 @@
|
||||
* @file: Move data interface call
|
||||
*/
|
||||
|
||||
import { telephonyData } from './api';
|
||||
import telephonyData from '@ohos.telephony.data';
|
||||
import radio from '@ohos.telephony.radio';
|
||||
import LogUtils from '../utils/LogUtils'
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
/**
|
||||
* @file: Network mode interface
|
||||
*/
|
||||
import {radio} from './api';
|
||||
import radio from '@ohos.telephony.radio';
|
||||
import LogUtils from '../utils/LogUtils'
|
||||
|
||||
const TAG = "getPreferredNetworkModelApi"
|
||||
|
@ -17,8 +17,7 @@
|
||||
* @file: Obtaining card status
|
||||
*/
|
||||
|
||||
import { sim } from './api';
|
||||
import LogUtils from '../utils/LogUtils'
|
||||
import sim from '@ohos.telephony.sim';
|
||||
|
||||
const TAG = "GetSimStateApi"
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
* @file: Interface for obtaining the card number
|
||||
*/
|
||||
|
||||
import { sim } from './api';
|
||||
import sim from '@ohos.telephony.sim';
|
||||
|
||||
/**
|
||||
* Get cardOnePhoneNumber
|
||||
|
@ -16,8 +16,8 @@
|
||||
/**
|
||||
* @file: Network mode interface
|
||||
*/
|
||||
import { radio } from './api';
|
||||
import LogUtils from '../utils/LogUtils'
|
||||
import radio from '@ohos.telephony.radio';
|
||||
import LogUtils from '../utils/LogUtils';
|
||||
|
||||
const TAG = "setPreferredNetworkModelApi"
|
||||
|
||||
|
@ -25,8 +25,6 @@ import { getSimCardOnePhoneNumber, getSimCardTwoPhoneNumber } from '../common/mo
|
||||
import {
|
||||
isCellularDataRoamingEnabledCardOne,
|
||||
isCellularDataRoamingEnabledCardTwo,
|
||||
enableCellularDataRoaming,
|
||||
disableCellularDataRoaming,
|
||||
getSupportNetwork
|
||||
} from '../common/model/getCellularDataRoamingEnabledApi';
|
||||
import { setPreferredNetwork } from '../common/model/setPreferredNetworkApi';
|
||||
@ -47,10 +45,9 @@ const TAG = "Index";
|
||||
@Component
|
||||
struct Index {
|
||||
scroller: Scroller = new Scroller();
|
||||
@State byValueWLMS: any = publiccontent.strings.fourAuto;
|
||||
@State publicheader: any = publiccontent.strings.mobileData;
|
||||
@State byValueWLMS: Resource = publiccontent.strings.fourAuto;
|
||||
@State publicheader: Resource = publiccontent.strings.mobileData;
|
||||
@State isLoading: boolean = true;
|
||||
@State simState: string = '';
|
||||
@State moisBtn: boolean = true;
|
||||
@State isBtn: boolean = true;
|
||||
@State gqBtn: boolean = true;
|
||||
@ -71,7 +68,7 @@ struct Index {
|
||||
@State simStateStatusCardTwo: boolean = false;
|
||||
@State ControlswitchWLMS: boolean = false;
|
||||
@State slotId: number = 0;
|
||||
@State dialogTitle: any = publiccontent.strings.preferredNetworkMode;
|
||||
@State dialogTitle: Resource = publiccontent.strings.preferredNetworkMode;
|
||||
setCache_cun_name = 'DISTRIBUTEDDATA_CUN_NAME';
|
||||
setCache_wl_name = 'SETCACHE_WL_NAME';
|
||||
@State enable5g: boolean = false;
|
||||
@ -105,7 +102,7 @@ struct Index {
|
||||
* This interface is used to obtain sim cardOne status
|
||||
*/
|
||||
getSimStateDataCardOne() {
|
||||
getSimStateCardOne().then((res: any) => {
|
||||
getSimStateCardOne().then((res: number) => {
|
||||
LogUtils.i(TAG, "getSimStateData Card1 :success " + JSON.stringify(res))
|
||||
const simState = {
|
||||
SIM_STATE_UNKNOWN: 0,
|
||||
@ -115,7 +112,6 @@ struct Index {
|
||||
SIM_STATE_READY: 4,
|
||||
SIM_STATE_LOADED: 5
|
||||
};
|
||||
this.simState = res;
|
||||
if (res == simState.SIM_STATE_LOADED || res == simState.SIM_STATE_READY) {
|
||||
this.simStateStatusCardOne = true;
|
||||
} else {
|
||||
@ -131,7 +127,7 @@ struct Index {
|
||||
* This interface is used to obtain sim cardTwo status
|
||||
*/
|
||||
getSimStateDataCardTwo() {
|
||||
getSimStateCardTwo().then((res: any) => {
|
||||
getSimStateCardTwo().then((res: number) => {
|
||||
LogUtils.i(TAG, "getSimState Card2 :success then" + JSON.stringify(res));
|
||||
const simState = {
|
||||
SIM_STATE_UNKNOWN: 0,
|
||||
@ -217,7 +213,7 @@ struct Index {
|
||||
}
|
||||
|
||||
isImsSwitchEnabled(slotId) {
|
||||
call.isImsSwitchEnabled(slotId).then((res: any) => {
|
||||
call.isImsSwitchEnabled(slotId).then((res: boolean) => {
|
||||
if (slotId) {
|
||||
this.enableISM2 = res;
|
||||
LogUtils.i(TAG, "isImsSwitchEnable enable 1:" + JSON.stringify(this.enableISM2));
|
||||
@ -225,6 +221,15 @@ struct Index {
|
||||
this.enableISM = res;
|
||||
LogUtils.i(TAG, "isImsSwitchEnable enable 0:" + JSON.stringify(this.enableISM));
|
||||
}
|
||||
}).catch((err) => {
|
||||
if (slotId) {
|
||||
this.enableISM2 = true;
|
||||
LogUtils.i(TAG, "isImsSwitchEnable err 1:" + JSON.stringify(this.enableISM2));
|
||||
} else {
|
||||
this.enableISM = true;
|
||||
LogUtils.i(TAG, "isImsSwitchEnable err 0:" + JSON.stringify(this.enableISM));
|
||||
}
|
||||
LogUtils.i(TAG, "isImsSwitchEnabled card catch:" + JSON.stringify(err));
|
||||
});
|
||||
}
|
||||
|
||||
@ -309,7 +314,6 @@ struct Index {
|
||||
.fontFamily('HarmonyHeiTi')
|
||||
.lineHeight(22)
|
||||
.fontColor($r('app.color.font_color_182431'))
|
||||
.opacity(this.isDataEnable ? 0.9 : 0.6)
|
||||
}
|
||||
|
||||
Row() {
|
||||
@ -356,7 +360,7 @@ struct Index {
|
||||
})
|
||||
.height(90)
|
||||
.width("100%")
|
||||
.borderRadius(24)
|
||||
.borderRadius(16)
|
||||
.backgroundColor($r("sys.color.ohos_id_color_foreground_contrary"))
|
||||
.opacity((this.simStateStatusCardOne || this.simStateStatusCardTwo) ? 1 : 0.4)
|
||||
|
||||
@ -403,7 +407,7 @@ struct Index {
|
||||
bottom: 4
|
||||
})
|
||||
.width("100%")
|
||||
.borderRadius(24)
|
||||
.borderRadius(16)
|
||||
.backgroundColor($r("sys.color.ohos_id_color_foreground_contrary"))
|
||||
.opacity(this.simStateStatusCardOne ? 1 : 0.4)
|
||||
|
||||
@ -455,7 +459,7 @@ struct Index {
|
||||
bottom: 4
|
||||
})
|
||||
.width("100%")
|
||||
.borderRadius(24)
|
||||
.borderRadius(16)
|
||||
.backgroundColor($r("sys.color.ohos_id_color_foreground_contrary"))
|
||||
.opacity(this.simStateStatusCardTwo ? 1 : 0.4)
|
||||
.visibility(getMaxSimCount() === 2 ? Visibility.Visible : Visibility.Hidden)
|
||||
|
@ -32,13 +32,16 @@
|
||||
],
|
||||
"requestPermissions" : [
|
||||
{
|
||||
"name": "ohos.permission.GET_NETWORK_INFO"
|
||||
"name": "ohos.permission.GET_NETWORK_INFO",
|
||||
"reason": "$string:GET_NETWORK_INFO"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.SET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.SET_TELEPHONY_STATE",
|
||||
"reason": "$string:SET_TELEPHONY_STATE"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE",
|
||||
"reason": "$string:GET_TELEPHONY_STATE"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -45,15 +45,18 @@
|
||||
"visible": true
|
||||
}
|
||||
],
|
||||
"requestPermissions" : [
|
||||
"requestPermissions": [
|
||||
{
|
||||
"name": "ohos.permission.GET_NETWORK_INFO"
|
||||
"name": "ohos.permission.GET_NETWORK_INFO",
|
||||
"reason": "$string:GET_NETWORK_INFO"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.SET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.SET_TELEPHONY_STATE",
|
||||
"reason": "$string:SET_TELEPHONY_STATE"
|
||||
},
|
||||
{
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE"
|
||||
"name": "ohos.permission.GET_TELEPHONY_STATE",
|
||||
"reason": "$string:GET_TELEPHONY_STATE"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -147,6 +147,22 @@
|
||||
{
|
||||
"name": "confim_space",
|
||||
"value": "Confim"
|
||||
},
|
||||
{
|
||||
"name": "GET_NETWORK_INFO",
|
||||
"value": "get network info"
|
||||
},
|
||||
{
|
||||
"name": "SET_TELEPHONY_STATE",
|
||||
"value": "set telephony state"
|
||||
},
|
||||
{
|
||||
"name": "GET_TELEPHONY_STATE",
|
||||
"value": "get telephony state"
|
||||
},
|
||||
{
|
||||
"name": "mobile_empty_string",
|
||||
"value": " "
|
||||
}
|
||||
]
|
||||
}
|
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 948 B |
Before Width: | Height: | Size: 992 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 6.6 KiB |