1c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela/* 2c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Copyright (C) 2014 The Android Open Source Project 3c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 4c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Licensed under the Apache License, Version 2.0 (the "License"); 5c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * you may not use this file except in compliance with the License. 6c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * You may obtain a copy of the License at 7c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 8c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * http://www.apache.org/licenses/LICENSE-2.0 9c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 10c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Unless required by applicable law or agreed to in writing, software 11c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * distributed under the License is distributed on an "AS IS" BASIS, 12c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * See the License for the specific language governing permissions and 14c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * limitations under the License. 15c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 16c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 17c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelapackage android.telephony; 18c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 19c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelaimport android.os.Parcel; 20c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelaimport android.os.Parcelable; 21c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelaimport android.telephony.TelephonyManager; 22c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelaimport android.net.LinkProperties; 23c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 24c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela/** 25c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Contains precise data connection state. 26c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 27c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * The following data connection information is included in returned PreciseDataConnectionState: 28c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 29c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <ul> 30c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>Data connection state. 31c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>Network type of the connection. 32c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>APN type. 33c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>APN. 34c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>Data connection change reason. 35c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>The properties of the network link. 36c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * <li>Data connection fail cause. 37c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * </ul> 38c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 39c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @hide 40c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 41c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuelapublic class PreciseDataConnectionState implements Parcelable { 42c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 43c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private int mState = TelephonyManager.DATA_UNKNOWN; 44c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private int mNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN; 45c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private String mAPNType = ""; 46c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private String mAPN = ""; 47c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private String mReason = ""; 48c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private LinkProperties mLinkProperties = null; 49c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private String mFailCause = ""; 50c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 51c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 52c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Constructor 53c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 54c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @hide 55c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 56c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public PreciseDataConnectionState(int state, int networkType, 57c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela String apnType, String apn, String reason, 58c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela LinkProperties linkProperties, String failCause) { 59c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mState = state; 60c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mNetworkType = networkType; 61c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mAPNType = apnType; 62c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mAPN = apn; 63c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mReason = reason; 64c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mLinkProperties = linkProperties; 65c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mFailCause = failCause; 66c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 67c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 68c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 69c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Empty Constructor 70c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 71c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @hide 72c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 73c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public PreciseDataConnectionState() { 74c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 75c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 76c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 77c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Construct a PreciseDataConnectionState object from the given parcel. 78c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 79c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela private PreciseDataConnectionState(Parcel in) { 80c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mState = in.readInt(); 81c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mNetworkType = in.readInt(); 82c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mAPNType = in.readString(); 83c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mAPN = in.readString(); 84c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mReason = in.readString(); 85c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mLinkProperties = (LinkProperties)in.readParcelable(null); 86c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela mFailCause = in.readString(); 87c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 88c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 89c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 90c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection state 91c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 92c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#DATA_UNKNOWN 93c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#DATA_DISCONNECTED 94c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#DATA_CONNECTING 95c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#DATA_CONNECTED 96c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#DATA_SUSPENDED 97c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 98c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public int getDataConnectionState() { 99c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mState; 100c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 101c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 102c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 103c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection network type 104c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * 105c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_UNKNOWN 106c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_GPRS 107c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_EDGE 108c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_UMTS 109c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_CDMA 110c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_EVDO_0 111c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_EVDO_A 112c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_1xRTT 113c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_HSDPA 114c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_HSUPA 115c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_HSPA 116c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_IDEN 117c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_EVDO_B 118c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_LTE 119c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_EHRPD 120c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * @see TelephonyManager#NETWORK_TYPE_HSPAP 121c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 122c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public int getDataConnectionNetworkType() { 123c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mNetworkType; 124c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 125c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 126c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 127c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection APN type 128c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 129c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public String getDataConnectionAPNType() { 130c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mAPNType; 131c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 132c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 133c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 134c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection APN. 135c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 136c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public String getDataConnectionAPN() { 137c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mAPN; 138c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 139c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 140c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 141c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection change reason. 142c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 143c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public String getDataConnectionChangeReason() { 144c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mReason; 145c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 146c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 147c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 148c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get the properties of the network link. 149c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 150c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public LinkProperties getDataConnectionLinkProperties() { 151c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mLinkProperties; 152c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 153c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 154c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela /** 155c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela * Get data connection fail cause, in case there was a failure. 156c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela */ 157c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public String getDataConnectionFailCause() { 158c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return mFailCause; 159c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 160c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 161c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela @Override 162c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public int describeContents() { 163c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return 0; 164c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 165c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 166c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela @Override 167c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public void writeToParcel(Parcel out, int flags) { 168c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeInt(mState); 169c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeInt(mNetworkType); 170c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeString(mAPNType); 171c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeString(mAPN); 172c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeString(mReason); 173c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeParcelable(mLinkProperties, flags); 174c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela out.writeString(mFailCause); 175c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 176c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 177c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public static final Parcelable.Creator<PreciseDataConnectionState> CREATOR 178c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela = new Parcelable.Creator<PreciseDataConnectionState>() { 179c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 180c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public PreciseDataConnectionState createFromParcel(Parcel in) { 181c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return new PreciseDataConnectionState(in); 182c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 183c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 184c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public PreciseDataConnectionState[] newArray(int size) { 185c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return new PreciseDataConnectionState[size]; 186c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 187c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela }; 188c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 189c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela @Override 190c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public int hashCode() { 191c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela final int prime = 31; 192c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela int result = 1; 193c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + mState; 194c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + mNetworkType; 195c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + ((mAPNType == null) ? 0 : mAPNType.hashCode()); 196c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + ((mAPN == null) ? 0 : mAPN.hashCode()); 197c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + ((mReason == null) ? 0 : mReason.hashCode()); 198c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + ((mLinkProperties == null) ? 0 : mLinkProperties.hashCode()); 199c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela result = prime * result + ((mFailCause == null) ? 0 : mFailCause.hashCode()); 200c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return result; 201c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 202c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 203c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela @Override 204c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public boolean equals(Object obj) { 205c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (this == obj) { 206c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return true; 207c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 208c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (obj == null) { 209c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 210c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 211c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (getClass() != obj.getClass()) { 212c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 213c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 214c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela PreciseDataConnectionState other = (PreciseDataConnectionState) obj; 215c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mAPN == null) { 216c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (other.mAPN != null) { 217c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 218c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 219c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } else if (!mAPN.equals(other.mAPN)) { 220c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 221c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 222c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mAPNType == null) { 223c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (other.mAPNType != null) { 224c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 225c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 226c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } else if (!mAPNType.equals(other.mAPNType)) { 227c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 228c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 229c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mFailCause == null) { 230c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (other.mFailCause != null) { 231c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 232c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 233c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } else if (!mFailCause.equals(other.mFailCause)) { 234c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 235c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 236c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mLinkProperties == null) { 237c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (other.mLinkProperties != null) { 238c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 239c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 240c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } else if (!mLinkProperties.equals(other.mLinkProperties)) { 241c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 242c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 243c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mNetworkType != other.mNetworkType) { 244c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 245c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 246c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mReason == null) { 247c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (other.mReason != null) { 248c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 249c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 250c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } else if (!mReason.equals(other.mReason)) { 251c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 252c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 253c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela if (mState != other.mState) { 254c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return false; 255c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 256c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return true; 257c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 258c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 259c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela @Override 260c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela public String toString() { 261c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela StringBuilder sb = new StringBuilder(); 262c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 263c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append("Data Connection state: " + mState); 264c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", Network type: " + mNetworkType); 265c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", APN type: " + mAPNType); 266c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", APN: " + mAPN); 267c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", Change reason: " + mReason); 268c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", Link properties: " + mLinkProperties); 269c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela sb.append(", Fail cause: " + mFailCause); 270c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela 271c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela return sb.toString(); 272c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela } 273c5ac15a3e11c03951e269b243674858411204b67Antonio Marín Cerezuela} 274