2 * Copyright (C) 2012 The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package android.telephony;
19 import android.os.Parcel;
20 import android.os.Parcelable;
21 import android.telephony.Rlog;
24 * Immutable cell information from a point in time.
26 public final class CellInfoWcdma extends CellInfo implements Parcelable {
28 private static final String LOG_TAG = "CellInfoWcdma";
29 private static final boolean DBG = false;
31 private CellIdentityWcdma mCellIdentityWcdma;
32 private CellSignalStrengthWcdma mCellSignalStrengthWcdma;
35 public CellInfoWcdma() {
37 mCellIdentityWcdma = new CellIdentityWcdma();
38 mCellSignalStrengthWcdma = new CellSignalStrengthWcdma();
42 public CellInfoWcdma(CellInfoWcdma ci) {
44 this.mCellIdentityWcdma = ci.mCellIdentityWcdma.copy();
45 this.mCellSignalStrengthWcdma = ci.mCellSignalStrengthWcdma.copy();
48 public CellIdentityWcdma getCellIdentity() {
49 return mCellIdentityWcdma;
52 public void setCellIdentity(CellIdentityWcdma cid) {
53 mCellIdentityWcdma = cid;
56 public CellSignalStrengthWcdma getCellSignalStrength() {
57 return mCellSignalStrengthWcdma;
60 public void setCellSignalStrength(CellSignalStrengthWcdma css) {
61 mCellSignalStrengthWcdma = css;
68 public int hashCode() {
69 return super.hashCode() + mCellIdentityWcdma.hashCode() + mCellSignalStrengthWcdma.hashCode();
73 public boolean equals(Object other) {
74 if (!super.equals(other)) {
78 CellInfoWcdma o = (CellInfoWcdma) other;
79 return mCellIdentityWcdma.equals(o.mCellIdentityWcdma)
80 && mCellSignalStrengthWcdma.equals(o.mCellSignalStrengthWcdma);
81 } catch (ClassCastException e) {
87 public String toString() {
88 StringBuffer sb = new StringBuffer();
90 sb.append("CellInfoWcdma:{");
91 sb.append(super.toString());
92 sb.append(" ").append(mCellIdentityWcdma);
93 sb.append(" ").append(mCellSignalStrengthWcdma);
99 /** Implement the Parcelable interface */
101 public int describeContents() {
105 /** Implement the Parcelable interface */
107 public void writeToParcel(Parcel dest, int flags) {
108 super.writeToParcel(dest, flags, TYPE_WCDMA);
109 mCellIdentityWcdma.writeToParcel(dest, flags);
110 mCellSignalStrengthWcdma.writeToParcel(dest, flags);
114 * Construct a CellInfoWcdma object from the given parcel
115 * where the token is already been processed.
117 private CellInfoWcdma(Parcel in) {
119 mCellIdentityWcdma = CellIdentityWcdma.CREATOR.createFromParcel(in);
120 mCellSignalStrengthWcdma = CellSignalStrengthWcdma.CREATOR.createFromParcel(in);
123 /** Implement the Parcelable interface */
124 public static final Creator<CellInfoWcdma> CREATOR = new Creator<CellInfoWcdma>() {
126 public CellInfoWcdma createFromParcel(Parcel in) {
127 in.readInt(); // Skip past token, we know what it is
128 return createFromParcelBody(in);
132 public CellInfoWcdma[] newArray(int size) {
133 return new CellInfoWcdma[size];
138 protected static CellInfoWcdma createFromParcelBody(Parcel in) {
139 return new CellInfoWcdma(in);
145 private static void log(String s) {