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.RilDataCall; 22 import com.android.internal.telephony.nano.TelephonyProto.SmsSession; 23 import com.android.internal.telephony.nano.TelephonyProto.TelephonyServiceState; 24 import com.android.internal.telephony.nano.TelephonyProto.TelephonySettings; 25 26 public class SmsSessionEventBuilder { 27 SmsSession.Event mEvent = new SmsSession.Event(); 28 build()29 public SmsSession.Event build() { 30 return mEvent; 31 } 32 SmsSessionEventBuilder(int type)33 public SmsSessionEventBuilder(int type) { 34 mEvent.type = type; 35 } 36 setDelay(int delay)37 public SmsSessionEventBuilder setDelay(int delay) { 38 mEvent.delay = delay; 39 return this; 40 } 41 setTech(int tech)42 public SmsSessionEventBuilder setTech(int tech) { 43 mEvent.tech = tech; 44 return this; 45 } 46 setErrorCode(int code)47 public SmsSessionEventBuilder setErrorCode(int code) { 48 mEvent.errorCode = code; 49 return this; 50 } 51 setRilErrno(int errno)52 public SmsSessionEventBuilder setRilErrno(int errno) { 53 mEvent.error = errno; 54 return this; 55 } 56 setImsServiceErrno(int errno)57 public SmsSessionEventBuilder setImsServiceErrno(int errno) { 58 mEvent.imsError = errno; 59 return this; 60 } 61 setSettings(TelephonySettings settings)62 public SmsSessionEventBuilder setSettings(TelephonySettings settings) { 63 mEvent.settings = settings; 64 return this; 65 } 66 setServiceState(TelephonyServiceState state)67 public SmsSessionEventBuilder setServiceState(TelephonyServiceState state) { 68 mEvent.serviceState = state; 69 return this; 70 } 71 setImsConnectionState(ImsConnectionState state)72 public SmsSessionEventBuilder setImsConnectionState(ImsConnectionState state) { 73 mEvent.imsConnectionState = state; 74 return this; 75 } 76 setImsCapabilities(ImsCapabilities capabilities)77 public SmsSessionEventBuilder setImsCapabilities(ImsCapabilities capabilities) { 78 mEvent.imsCapabilities = capabilities; 79 return this; 80 } 81 setDataCalls(RilDataCall[] dataCalls)82 public SmsSessionEventBuilder setDataCalls(RilDataCall[] dataCalls) { 83 mEvent.dataCalls = dataCalls; 84 return this; 85 } 86 setRilRequestId(int id)87 public SmsSessionEventBuilder setRilRequestId(int id) { 88 mEvent.rilRequestId = id; 89 return this; 90 } 91 setFormat(int format)92 public SmsSessionEventBuilder setFormat(int format) { 93 mEvent.format = format; 94 return this; 95 } 96 setCellBroadcastMessage(SmsSession.Event.CBMessage msg)97 public SmsSessionEventBuilder setCellBroadcastMessage(SmsSession.Event.CBMessage msg) { 98 mEvent.cellBroadcastMessage = msg; 99 return this; 100 } 101 102 /** Set details on incomplete SMS */ setIncompleteSms(SmsSession.Event.IncompleteSms msg)103 public SmsSessionEventBuilder setIncompleteSms(SmsSession.Event.IncompleteSms msg) { 104 mEvent.incompleteSms = msg; 105 return this; 106 } 107 108 /** Set indication if SMS was blocked */ setBlocked(boolean blocked)109 public SmsSessionEventBuilder setBlocked(boolean blocked) { 110 mEvent.blocked = blocked; 111 return this; 112 } 113 114 /** Set SMS type */ setSmsType(int type)115 public SmsSessionEventBuilder setSmsType(int type) { 116 mEvent.smsType = type; 117 return this; 118 } 119 } 120