blob: f34fb34ae87040d17a0adc93e6923257aa6c3639 [file] [log] [blame]
/*
* Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.bluetooth.hfp;
/**
* A blob of response data to AT+CLCC command from HF
*
* Example:
* AT+CLCC
* +CLCC:[index],[direction],[status],[mode],[mpty][,[number],[type]]
*/
class HeadsetClccResponse extends HeadsetMessageObject {
/**
* Index of the call, starting with 1, by the sequence of setup or receiving the calls
*/
int mIndex;
/**
* Direction of the call, 0 is outgoing, 1 is incoming
*/
int mDirection;
/**
* Status of the call, currently defined in bthf_call_state_t of bt_hf.h or
* {@link com.android.server.telecom.BluetoothPhoneServiceImpl} or {@link HeadsetHalConstants}
*
* 0 - Active
* 1 - Held
* 2 - Dialing
* 3 - Alerting
* 4 - Incoming
* 5 - Waiting
* 6 - Call held by response and hold
*/
int mStatus;
/**
* Call mode, 0 is Voice, 1 is Data, 2 is Fax
*/
int mMode;
/**
* Multi-party indicator
*
* 0 - this call is NOT a member of a multi-party (conference) call
* 1 - this call IS a multi-party (conference) call
*/
boolean mMpty;
/**
* Phone number of the call (optional)
*/
String mNumber;
/**
* Phone number type (optional)
*/
int mType;
HeadsetClccResponse(int index, int direction, int status, int mode, boolean mpty, String number,
int type) {
mIndex = index;
mDirection = direction;
mStatus = status;
mMode = mode;
mMpty = mpty;
mNumber = number;
mType = type;
}
@Override
public void buildString(StringBuilder builder) {
if (builder == null) {
return;
}
builder.append(this.getClass().getSimpleName())
.append("[index=")
.append(mIndex)
.append(", direction=")
.append(mDirection)
.append(", status=")
.append(mStatus)
.append(", callMode=")
.append(mMode)
.append(", isMultiParty=")
.append(mMpty)
.append(", number=");
if (mNumber == null) {
builder.append("null");
} else {
builder.append("***");
}
builder.append(", type=").append(mType).append("]");
}
}