/*
|
** Copyright 2015, 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.internal.telephony;
|
|
import android.os.Parcel;
|
import android.os.Parcelable;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Response for querying available cellular networks.
|
*
|
* @hide
|
*/
|
public class CellNetworkScanResult implements Parcelable {
|
|
/**
|
* Possible status values.
|
*/
|
public static final int STATUS_SUCCESS = 1;
|
public static final int STATUS_RADIO_NOT_AVAILABLE = 2;
|
public static final int STATUS_RADIO_GENERIC_FAILURE = 3;
|
public static final int STATUS_UNKNOWN_ERROR = 4;
|
|
private final int mStatus;
|
private final List<OperatorInfo> mOperators;
|
|
/**
|
* Constructor.
|
*
|
* @hide
|
*/
|
public CellNetworkScanResult(int status, List<OperatorInfo> operators) {
|
mStatus = status;
|
mOperators = operators;
|
}
|
|
/**
|
* Construct a CellNetworkScanResult from a given parcel.
|
*/
|
private CellNetworkScanResult(Parcel in) {
|
mStatus = in.readInt();
|
int len = in.readInt();
|
if (len > 0) {
|
mOperators = new ArrayList();
|
for (int i = 0; i < len; ++i) {
|
mOperators.add(OperatorInfo.CREATOR.createFromParcel(in));
|
}
|
} else {
|
mOperators = null;
|
}
|
}
|
|
/**
|
* @return the status of the command.
|
*/
|
public int getStatus() {
|
return mStatus;
|
}
|
|
/**
|
* @return the operators.
|
*/
|
public List<OperatorInfo> getOperators() {
|
return mOperators;
|
}
|
|
@Override
|
public int describeContents() {
|
return 0;
|
}
|
|
@Override
|
public void writeToParcel(Parcel out, int flags) {
|
out.writeInt(mStatus);
|
if (mOperators != null && mOperators.size() > 0) {
|
out.writeInt(mOperators.size());
|
for (OperatorInfo network : mOperators) {
|
network.writeToParcel(out, flags);
|
}
|
} else {
|
out.writeInt(0);
|
}
|
}
|
|
@Override
|
public String toString() {
|
StringBuffer sb = new StringBuffer();
|
sb.append("CellNetworkScanResult: {");
|
sb.append(" status:").append(mStatus);
|
if (mOperators != null) {
|
for (OperatorInfo network : mOperators) {
|
sb.append(" network:").append(network);
|
}
|
}
|
sb.append("}");
|
return sb.toString();
|
}
|
|
public static final Parcelable.Creator<CellNetworkScanResult> CREATOR
|
= new Parcelable.Creator<CellNetworkScanResult>() {
|
|
@Override
|
public CellNetworkScanResult createFromParcel(Parcel in) {
|
return new CellNetworkScanResult(in);
|
}
|
|
public CellNetworkScanResult[] newArray(int size) {
|
return new CellNetworkScanResult[size];
|
}
|
};
|
}
|