104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville/* 204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Copyright (C) 2006 The Android Open Source Project 304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * 404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * you may not use this file except in compliance with the License. 604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * You may obtain a copy of the License at 704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * 804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * http://www.apache.org/licenses/LICENSE-2.0 904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * 1004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Unless required by applicable law or agreed to in writing, software 1104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * distributed under the License is distributed on an "AS IS" BASIS, 1204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * See the License for the specific language governing permissions and 1404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * limitations under the License. 1504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 1604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 1704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savillepackage android.telephony.cdma; 1804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 1904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savilleimport android.os.Bundle; 2004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savilleimport android.telephony.CellLocation; 2104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 2204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville/** 231b90def3c683afaea528a0ee705b14df6ce2e2c7Mike Lockwood * Represents the cell location on a CDMA phone. 2404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 2504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Savillepublic class CdmaCellLocation extends CellLocation { 2604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville private int mBaseStationId = -1; 27d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla 28d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla /** 299384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde * @hide 309384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde */ 319384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde public final static int INVALID_LAT_LONG = Integer.MAX_VALUE; 329384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde 339384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde /** 34d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * Latitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. 35d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * It is represented in units of 0.25 seconds and ranges from -1296000 36d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * to 1296000, both values inclusive (corresponding to a range of -90 37d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * to +90 degrees). Integer.MAX_VALUE is considered invalid value. 38d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla */ 399384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde private int mBaseStationLatitude = INVALID_LAT_LONG; 40d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla 41d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla /** 42d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * Longitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. 43d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * It is represented in units of 0.25 seconds and ranges from -2592000 44d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * to 2592000, both values inclusive (corresponding to a range of -180 45d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * to +180 degrees). Integer.MAX_VALUE is considered invalid value. 46d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla */ 479384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde private int mBaseStationLongitude = INVALID_LAT_LONG; 48d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla 49a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood private int mSystemId = -1; 50a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood private int mNetworkId = -1; 5104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 5204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 531b90def3c683afaea528a0ee705b14df6ce2e2c7Mike Lockwood * Empty constructor. 54d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * Initializes the BID, SID, NID and base station latitude and longitude 55d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * to invalid values. 5604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 5704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public CdmaCellLocation() { 5804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville this.mBaseStationId = -1; 599384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLatitude = INVALID_LAT_LONG; 609384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLongitude = INVALID_LAT_LONG; 61a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mSystemId = -1; 62a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mNetworkId = -1; 6304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 6404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 6504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 6604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Initialize the object from a bundle. 6704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 689384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde public CdmaCellLocation(Bundle bundle) { 699384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationId = bundle.getInt("baseStationId", mBaseStationId); 709384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLatitude = bundle.getInt("baseStationLatitude", mBaseStationLatitude); 719384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLongitude = bundle.getInt("baseStationLongitude", mBaseStationLongitude); 729384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mSystemId = bundle.getInt("systemId", mSystemId); 739384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mNetworkId = bundle.getInt("networkId", mNetworkId); 7404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 7504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 7604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 7704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * @return cdma base station identification number, -1 if unknown 7804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 7904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public int getBaseStationId() { 8004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return this.mBaseStationId; 8104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 8204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 8304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 84d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * @return cdma base station latitude, Integer.MAX_VALUE if unknown 8504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 8604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public int getBaseStationLatitude() { 8704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return this.mBaseStationLatitude; 8804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 8904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 9004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 91d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * @return cdma base station longitude, Integer.MAX_VALUE if unknown 9204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 9304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public int getBaseStationLongitude() { 9404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return this.mBaseStationLongitude; 9504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 9604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 9704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 98a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood * @return cdma system identification number, -1 if unknown 99a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood */ 100a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood public int getSystemId() { 101a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood return this.mSystemId; 102a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood } 103a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood 104a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood /** 105a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood * @return cdma network identification number, -1 if unknown 106a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood */ 107a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood public int getNetworkId() { 108a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood return this.mNetworkId; 109a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood } 110a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood 111a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood /** 112d393184ac595ab5490c77305a27fd049badf9a5dNaveen Kalla * Invalidate this object. The cell location data is set to invalid values. 11304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 11404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public void setStateInvalid() { 11504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville this.mBaseStationId = -1; 1169384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLatitude = INVALID_LAT_LONG; 1179384b145e625b3bb6ff8b829ddb1466e16a78f49Mark Vandevoorde this.mBaseStationLongitude = INVALID_LAT_LONG; 118a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mSystemId = -1; 119a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mNetworkId = -1; 12004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 12104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 12204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 12304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Set the cell location data. 12404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 12504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public void setCellLocationData(int baseStationId, int baseStationLatitude, 12604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville int baseStationLongitude) { 12704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville // The following values have to be written in the correct sequence 12804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville this.mBaseStationId = baseStationId; 12904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville this.mBaseStationLatitude = baseStationLatitude; //values[2]; 13004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville this.mBaseStationLongitude = baseStationLongitude; //values[3]; 13104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 13204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 133a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood /** 134a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood * Set the cell location data. 135a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood */ 136a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood public void setCellLocationData(int baseStationId, int baseStationLatitude, 137a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood int baseStationLongitude, int systemId, int networkId) { 138a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood // The following values have to be written in the correct sequence 139a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mBaseStationId = baseStationId; 140a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mBaseStationLatitude = baseStationLatitude; //values[2]; 141a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mBaseStationLongitude = baseStationLongitude; //values[3]; 142a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mSystemId = systemId; 143a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood this.mNetworkId = networkId; 144a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood } 145a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood 14604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville @Override 14704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public int hashCode() { 148a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood return this.mBaseStationId ^ this.mBaseStationLatitude ^ this.mBaseStationLongitude 149a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood ^ this.mSystemId ^ this.mNetworkId; 15004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 15104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 15204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville @Override 15304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public boolean equals(Object o) { 15404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville CdmaCellLocation s; 15504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 15604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville try { 15704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville s = (CdmaCellLocation)o; 15804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } catch (ClassCastException ex) { 15904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return false; 16004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 16104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 16204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville if (o == null) { 16304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return false; 16404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 16504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 16604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return (equalsHandlesNulls(this.mBaseStationId, s.mBaseStationId) && 16704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville equalsHandlesNulls(this.mBaseStationLatitude, s.mBaseStationLatitude) && 168a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood equalsHandlesNulls(this.mBaseStationLongitude, s.mBaseStationLongitude) && 169a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood equalsHandlesNulls(this.mSystemId, s.mSystemId) && 170a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood equalsHandlesNulls(this.mNetworkId, s.mNetworkId) 17104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville ); 17204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 17304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 17404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville @Override 17504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public String toString() { 17604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return "[" + this.mBaseStationId + "," 17704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville + this.mBaseStationLatitude + "," 178a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood + this.mBaseStationLongitude + "," 179a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood + this.mSystemId + "," 180a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood + this.mNetworkId + "]"; 18104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 18204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 18304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 18404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Test whether two objects hold the same data values or both are null 18504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * 18604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * @param a first obj 18704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * @param b second obj 18804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * @return true if two objects equal or both are null 18904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 19004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville private static boolean equalsHandlesNulls(Object a, Object b) { 19104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville return (a == null) ? (b == null) : a.equals (b); 19204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 19304e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 19404e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville /** 19504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * Fill the cell location data into the intent notifier Bundle based on service state 19604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * 19704e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville * @param bundleToFill intent notifier Bundle 19804e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville */ 19904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville public void fillInNotifierBundle(Bundle bundleToFill) { 20004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville bundleToFill.putInt("baseStationId", this.mBaseStationId); 20104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville bundleToFill.putInt("baseStationLatitude", this.mBaseStationLatitude); 20204e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville bundleToFill.putInt("baseStationLongitude", this.mBaseStationLongitude); 203a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood bundleToFill.putInt("systemId", this.mSystemId); 204a4d2fb5ef6bb5dfb6e26ac6a139de389984db5d3Mike Lockwood bundleToFill.putInt("networkId", this.mNetworkId); 20504e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville } 20604e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 20741a46718b3deec95661e149b3acea2a9e54016beJohn Wang /** 20841a46718b3deec95661e149b3acea2a9e54016beJohn Wang * @hide 20941a46718b3deec95661e149b3acea2a9e54016beJohn Wang */ 21041a46718b3deec95661e149b3acea2a9e54016beJohn Wang public boolean isEmpty() { 21141a46718b3deec95661e149b3acea2a9e54016beJohn Wang return (this.mBaseStationId == -1 && 21241a46718b3deec95661e149b3acea2a9e54016beJohn Wang this.mBaseStationLatitude == INVALID_LAT_LONG && 21341a46718b3deec95661e149b3acea2a9e54016beJohn Wang this.mBaseStationLongitude == INVALID_LAT_LONG && 21441a46718b3deec95661e149b3acea2a9e54016beJohn Wang this.mSystemId == -1 && 21541a46718b3deec95661e149b3acea2a9e54016beJohn Wang this.mNetworkId == -1); 21641a46718b3deec95661e149b3acea2a9e54016beJohn Wang } 21741a46718b3deec95661e149b3acea2a9e54016beJohn Wang 21841a46718b3deec95661e149b3acea2a9e54016beJohn Wang 21904e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville} 22004e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 22104e71b3db84fd5f7fc4eefb49a33154ea91ec9fcWink Saville 222