1e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville/* 2e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * Copyright (C) 2013 The Android Open Source Project 3e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * 4e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 5e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * you may not use this file except in compliance with the License. 6e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * You may obtain a copy of the License at 7e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * 8e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 9e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * 10e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * Unless required by applicable law or agreed to in writing, software 11e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 12e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * See the License for the specific language governing permissions and 14e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * limitations under the License. 15e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 16e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 17e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Savillepackage android.telephony; 18e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 19e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Savilleimport android.os.Parcel; 20e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Savilleimport android.os.Parcelable; 21e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Savilleimport android.telephony.Rlog; 22e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 237d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammeeimport java.util.Objects; 247d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee 25e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville/** 26e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * CellIdentity to represent a unique UMTS cell 27e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 28e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Savillepublic final class CellIdentityWcdma implements Parcelable { 29e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 30e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private static final String LOG_TAG = "CellIdentityWcdma"; 31e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private static final boolean DBG = false; 32e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 33e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville // 3-digit Mobile Country Code, 0..999 34e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private final int mMcc; 35e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville // 2 or 3-digit Mobile Network Code, 0..999 36e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private final int mMnc; 37e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville // 16-bit Location Area Code, 0..65535 38e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private final int mLac; 39e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville // 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455 40e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private final int mCid; 41e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville // 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511 42e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private final int mPsc; 430c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe // 16-bit UMTS Absolute RF Channel Number 440c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe private final int mUarfcn; 45e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 46e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 47e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @hide 48e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 49e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public CellIdentityWcdma() { 50e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMcc = Integer.MAX_VALUE; 51e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMnc = Integer.MAX_VALUE; 52e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mLac = Integer.MAX_VALUE; 53e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mCid = Integer.MAX_VALUE; 54e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mPsc = Integer.MAX_VALUE; 550c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mUarfcn = Integer.MAX_VALUE; 56e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 57e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 58e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * public constructor 59e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @param mcc 3-digit Mobile Country Code, 0..999 60e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @param mnc 2 or 3-digit Mobile Network Code, 0..999 61e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @param lac 16-bit Location Area Code, 0..65535 62e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @param cid 28-bit UMTS Cell Identity 63e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @param psc 9-bit UMTS Primary Scrambling Code 64e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * 65e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @hide 66e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 67e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public CellIdentityWcdma (int mcc, int mnc, int lac, int cid, int psc) { 680c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe this(mcc, mnc, lac, cid, psc, Integer.MAX_VALUE); 690c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe } 700c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe 710c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe /** 720c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * public constructor 730c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param mcc 3-digit Mobile Country Code, 0..999 740c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param mnc 2 or 3-digit Mobile Network Code, 0..999 750c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param lac 16-bit Location Area Code, 0..65535 760c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param cid 28-bit UMTS Cell Identity 770c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param psc 9-bit UMTS Primary Scrambling Code 780c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @param uarfcn 16-bit UMTS Absolute RF Channel Number 790c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * 800c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @hide 810c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe */ 820c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe public CellIdentityWcdma (int mcc, int mnc, int lac, int cid, int psc, int uarfcn) { 83e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMcc = mcc; 84e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMnc = mnc; 85e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mLac = lac; 86e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mCid = cid; 87e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mPsc = psc; 880c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mUarfcn = uarfcn; 89e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 90e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 91e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private CellIdentityWcdma(CellIdentityWcdma cid) { 92e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMcc = cid.mMcc; 93e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMnc = cid.mMnc; 94e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mLac = cid.mLac; 95e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mCid = cid.mCid; 96e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mPsc = cid.mPsc; 970c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mUarfcn = cid.mUarfcn; 98e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 99e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 100e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville CellIdentityWcdma copy() { 101e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return new CellIdentityWcdma(this); 102e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 103e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 104e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 105e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @return 3-digit Mobile Country Code, 0..999, Integer.MAX_VALUE if unknown 106e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 107e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int getMcc() { 108e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return mMcc; 109e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 110e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 111e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 112e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @return 2 or 3-digit Mobile Network Code, 0..999, Integer.MAX_VALUE if unknown 113e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 114e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int getMnc() { 115e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return mMnc; 116e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 117e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 118e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 119e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @return 16-bit Location Area Code, 0..65535, Integer.MAX_VALUE if unknown 120e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 121e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int getLac() { 122e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return mLac; 123e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 124e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 125e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 126e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @return CID 127e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, Integer.MAX_VALUE if unknown 128e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 129e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int getCid() { 130e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return mCid; 131e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 132e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 133e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 134e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * @return 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511, Integer.MAX_VALUE 135e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * if unknown 136e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 137e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int getPsc() { 138e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return mPsc; 139e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 140e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 141e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 142e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int hashCode() { 1437d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee return Objects.hash(mMcc, mMnc, mLac, mCid, mPsc); 144e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 145e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 1460c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe /** 1470c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe * @return 16-bit UMTS Absolute RF Channel Number, Integer.MAX_VALUE if unknown 1480c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe */ 1490c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe public int getUarfcn() { 1500c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe return mUarfcn; 1510c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe } 1520c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe 153e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 154e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public boolean equals(Object other) { 1557d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee if (this == other) { 1567d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee return true; 1577d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee } 1587d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee 1597d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee if (!(other instanceof CellIdentityWcdma)) { 160e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return false; 161e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 1627d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee 1637d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee CellIdentityWcdma o = (CellIdentityWcdma) other; 1647d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee return mMcc == o.mMcc && 1657d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee mMnc == o.mMnc && 1667d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee mLac == o.mLac && 1677d1d2e39f382416ffa8db8771c83e4f9e2f53adcBrian Williammee mCid == o.mCid && 1680c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mPsc == o.mPsc && 1690c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mUarfcn == o.mUarfcn; 170e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 171e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 172e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 173e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public String toString() { 174e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville StringBuilder sb = new StringBuilder("CellIdentityWcdma:{"); 175e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append(" mMcc=").append(mMcc); 176e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append(" mMnc=").append(mMnc); 177e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append(" mLac=").append(mLac); 178e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append(" mCid=").append(mCid); 179e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append(" mPsc=").append(mPsc); 1800c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe sb.append(" mUarfcn=").append(mUarfcn); 181e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville sb.append("}"); 182e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 183e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return sb.toString(); 184e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 185e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 186e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** Implement the Parcelable interface */ 187e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 188e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public int describeContents() { 189e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return 0; 190e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 191e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 192e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** Implement the Parcelable interface */ 193e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 194e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public void writeToParcel(Parcel dest, int flags) { 195e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville if (DBG) log("writeToParcel(Parcel, int): " + toString()); 196e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville dest.writeInt(mMcc); 197e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville dest.writeInt(mMnc); 198e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville dest.writeInt(mLac); 199e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville dest.writeInt(mCid); 200e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville dest.writeInt(mPsc); 2010c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe dest.writeInt(mUarfcn); 202e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 203e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 204e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** Construct from Parcel, type has already been processed */ 205e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private CellIdentityWcdma(Parcel in) { 206e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMcc = in.readInt(); 207e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mMnc = in.readInt(); 208e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mLac = in.readInt(); 209e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mCid = in.readInt(); 210e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville mPsc = in.readInt(); 2110c86efdbd93beba03f29bf4a771bd0917d3af46aSanket Padawe mUarfcn = in.readInt(); 212e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville if (DBG) log("CellIdentityWcdma(Parcel): " + toString()); 213e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 214e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 215e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** Implement the Parcelable interface */ 216e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @SuppressWarnings("hiding") 217e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public static final Creator<CellIdentityWcdma> CREATOR = 218e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville new Creator<CellIdentityWcdma>() { 219e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 220e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public CellIdentityWcdma createFromParcel(Parcel in) { 221e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return new CellIdentityWcdma(in); 222e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 223e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 224e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville @Override 225e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville public CellIdentityWcdma[] newArray(int size) { 226e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville return new CellIdentityWcdma[size]; 227e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 228e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville }; 229e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville 230e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville /** 231e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville * log 232e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville */ 233e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville private static void log(String s) { 234e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville Rlog.w(LOG_TAG, s); 235e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville } 236e3a9cbc052db7f00a96cc7b9580097d67538f360Wink Saville} 237