1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.internal.telephony.metrics; 18 19 import com.android.internal.telephony.nano.TelephonyProto.ImsCapabilities; 20 import com.android.internal.telephony.nano.TelephonyProto.ImsConnectionState; 21 import com.android.internal.telephony.nano.TelephonyProto.ImsReasonInfo; 22 import com.android.internal.telephony.nano.TelephonyProto.RilDataCall; 23 import com.android.internal.telephony.nano.TelephonyProto.TelephonyCallSession; 24 import com.android.internal.telephony.nano.TelephonyProto.TelephonyCallSession.Event.RilCall; 25 import com.android.internal.telephony.nano.TelephonyProto.TelephonyServiceState; 26 import com.android.internal.telephony.nano.TelephonyProto.TelephonySettings; 27 28 public class CallSessionEventBuilder { 29 private final TelephonyCallSession.Event mEvent = new TelephonyCallSession.Event(); 30 build()31 public TelephonyCallSession.Event build() { 32 return mEvent; 33 } 34 CallSessionEventBuilder(int type)35 public CallSessionEventBuilder(int type) { 36 mEvent.type = type; 37 } 38 setDelay(int delay)39 public CallSessionEventBuilder setDelay(int delay) { 40 mEvent.delay = delay; 41 return this; 42 } 43 setRilRequest(int rilRequestType)44 public CallSessionEventBuilder setRilRequest(int rilRequestType) { 45 mEvent.rilRequest = rilRequestType; 46 return this; 47 } 48 setRilRequestId(int rilRequestId)49 public CallSessionEventBuilder setRilRequestId(int rilRequestId) { 50 mEvent.rilRequestId = rilRequestId; 51 return this; 52 } 53 setRilError(int rilError)54 public CallSessionEventBuilder setRilError(int rilError) { 55 mEvent.error = rilError; 56 return this; 57 } 58 setCallIndex(int callIndex)59 public CallSessionEventBuilder setCallIndex(int callIndex) { 60 mEvent.callIndex = callIndex; 61 return this; 62 } 63 setCallState(int state)64 public CallSessionEventBuilder setCallState(int state) { 65 mEvent.callState = state; 66 return this; 67 } 68 setSrvccState(int srvccState)69 public CallSessionEventBuilder setSrvccState(int srvccState) { 70 mEvent.srvccState = srvccState; 71 return this; 72 } 73 setImsCommand(int imsCommand)74 public CallSessionEventBuilder setImsCommand(int imsCommand) { 75 mEvent.imsCommand = imsCommand; 76 return this; 77 } 78 setImsReasonInfo(ImsReasonInfo reasonInfo)79 public CallSessionEventBuilder setImsReasonInfo(ImsReasonInfo reasonInfo) { 80 mEvent.reasonInfo = reasonInfo; 81 return this; 82 } 83 setSrcAccessTech(int tech)84 public CallSessionEventBuilder setSrcAccessTech(int tech) { 85 mEvent.srcAccessTech = tech; 86 return this; 87 } 88 setTargetAccessTech(int tech)89 public CallSessionEventBuilder setTargetAccessTech(int tech) { 90 mEvent.targetAccessTech = tech; 91 return this; 92 } 93 setSettings(TelephonySettings settings)94 public CallSessionEventBuilder setSettings(TelephonySettings settings) { 95 mEvent.settings = settings; 96 return this; 97 } 98 setServiceState(TelephonyServiceState state)99 public CallSessionEventBuilder setServiceState(TelephonyServiceState state) { 100 mEvent.serviceState = state; 101 return this; 102 } 103 setImsConnectionState(ImsConnectionState state)104 public CallSessionEventBuilder setImsConnectionState(ImsConnectionState state) { 105 mEvent.imsConnectionState = state; 106 return this; 107 } 108 setImsCapabilities(ImsCapabilities capabilities)109 public CallSessionEventBuilder setImsCapabilities(ImsCapabilities capabilities) { 110 mEvent.imsCapabilities = capabilities; 111 return this; 112 } 113 setDataCalls(RilDataCall[] dataCalls)114 public CallSessionEventBuilder setDataCalls(RilDataCall[] dataCalls) { 115 mEvent.dataCalls = dataCalls; 116 return this; 117 } 118 setPhoneState(int phoneState)119 public CallSessionEventBuilder setPhoneState(int phoneState) { 120 mEvent.phoneState = phoneState; 121 return this; 122 } 123 setNITZ(long timestamp)124 public CallSessionEventBuilder setNITZ(long timestamp) { 125 mEvent.nitzTimestampMillis = timestamp; 126 return this; 127 } 128 setRilCalls(RilCall[] rilCalls)129 public CallSessionEventBuilder setRilCalls(RilCall[] rilCalls) { 130 mEvent.calls = rilCalls; 131 return this; 132 } 133 } 134