1f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu/* 2f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * Copyright (C) 2016 The Android Open Source Project 3f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * 4f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * Licensed under the Apache License, Version 2.0 (the "License"); 5f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * you may not use this file except in compliance with the License. 6f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * You may obtain a copy of the License at 7f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * 8f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * http://www.apache.org/licenses/LICENSE-2.0 9f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * 10f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * Unless required by applicable law or agreed to in writing, software 11f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * distributed under the License is distributed on an "AS IS" BASIS, 12f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * See the License for the specific language governing permissions and 14f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu * limitations under the License. 15f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu */ 16f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 17f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yupackage com.android.internal.telephony.metrics; 18f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 199460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.ImsCapabilities; 209460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.ImsConnectionState; 219460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.RilDataCall; 229460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.SmsSession; 239460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.TelephonyServiceState; 249460a22f3c1ae70dde80e34557d7011be113b39aTamas Berghammerimport com.android.internal.telephony.nano.TelephonyProto.TelephonySettings; 25f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 26f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yupublic class SmsSessionEventBuilder { 27f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu SmsSession.Event mEvent = new SmsSession.Event(); 28f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 29f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSession.Event build() { 30f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return mEvent; 31f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 32f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 33f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder(int type) { 34da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.type = type; 35f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 36f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 37f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setDelay(int delay) { 38da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.delay = delay; 39f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 40f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 41f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 42f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setTech(int tech) { 43da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.tech = tech; 44f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 45f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 46f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 47f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setErrorCode(int code) { 48da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.errorCode = code; 49f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 50f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 51f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 52f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setRilErrno(int errno) { 53da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.error = errno; 54f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 55f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 56f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 57f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setSettings(TelephonySettings settings) { 58f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu mEvent.settings = settings; 59f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 60f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 61f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 62f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setServiceState(TelephonyServiceState state) { 63f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu mEvent.serviceState = state; 64f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 65f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 66f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 67f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setImsConnectionState(ImsConnectionState state) { 68f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu mEvent.imsConnectionState = state; 69f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 70f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 71f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 72f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setImsCapabilities(ImsCapabilities capabilities) { 73f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu mEvent.imsCapabilities = capabilities; 74f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 75f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 76f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 77f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setDataCalls(RilDataCall[] dataCalls) { 78f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu mEvent.dataCalls = dataCalls; 79f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 80f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 81f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 82f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setRilRequestId(int id) { 83da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.rilRequestId = id; 84f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 85f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 86f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu 87f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu public SmsSessionEventBuilder setFormat(int format) { 88da243aa6e2c4285975feb44524603e8b20093e70Jack Yu mEvent.format = format; 89f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu return this; 90f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu } 91f2d0fa64860a12423fb8709766d6af90fba5e6cfJack Yu} 92